豆豆首页 > 技术教程 > 程序设计 > Java > 数据库

Spring2.0中新的Bean类型实现原理

http://tech.ddvip.com 2006年11月20日 23:35:47    
 
 

  下面看实现注册Scope的代码:

  在WebApplicationContext中定义常量

public interface WebApplicationContext extends ApplicationContext {
 String SCOPE_REQUEST = "request";
 String SCOPE_SESSION = "session";
 String SCOPE_GLOBAL_SESSION = "globalSession";
}

  然后在所有类型的Web应用上下文的实现中,都在Bean工厂的拦载过程中通过postProcessBeanFactory方法来注册新类型Scope,如GenericWebApplicationContext、StaticWebApplicationContext、AbstractRefreshableWebApplicationContext等WebApplication应用上下文实现中。

protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
 beanFactory.registerScope(SCOPE_REQUEST, new RequestScope());//注册request类型的Bean
 beanFactory.registerScope(SCOPE_SESSION, new SessionScope(false));//注册session类型的Bean
 beanFactory.registerScope(SCOPE_GLOBAL_SESSION, new SessionScope(true));//注册glogalsession  的Bean
}

  结合上面的代码,现在应该明白为什么只有在Web应用上下文中才能使用新增加三种类型的Bean了吧。当然,由于有了Scope,我们也可以非常轻松的实现我们自己的Scope,增加新用户自定义类型的Bean,然后设计出一个适合我们自己的Bean工厂。

[责任编辑:editorforddvip]

点击搜索更多"Spring"相关信息
正在加载评论...
请您留言
网友昵称: 匿名发表(无需注册)
 
请输入验证码:  
如果您还不是豆豆会员,欢迎注册
 
请您注意
· 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。
· 豆豆网拥有管理笔名和留言的一切权利。
 
 
相关链接
本栏更新
专题文章推荐