浏览 6676 次
锁定老帖子 主题:spring2.0 自定义Scope
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-04
在2.0中作了很大的改进,增加了RequestScope,和SessionScope两种范围。当然也支持自定义Scope 下面简单介绍一下,spring2.0是如何支持自定义Scope的。 Scope接口,需要实现的接口,主要的方法:
下面简单定义一个Scope对象: java 代码
如何使用让此scope生效,有两种方法: 第一编程实现: java 代码
可以使用registerScope方法来注册相应的scope java 代码
另外一种实现 xml 配置(建议使用) 通过CustomScopeConfigurer 来注册相应的Scope,由于CustomScopeConfigurer 实现了BeanFactoryPostProcessor,对于ApplcationContext,自动会实现相应的配置 xml 代码
当然也可以编程实现 java 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-04
虽然Spring提供了这个扩展功能,但我觉得这项功能基本上没有什么意义,只要用好Spring自定义的
singleton,prototype,request,session和globalSession就够了。这种功能是拿来宣传的,而不是实战的。 |
|
返回顶楼 | |
发表时间:2007-01-05
从意义上来说,实用性是不强,可作为一个好的框架,提供足够的灵活性,那就另当别论了。
|
|
返回顶楼 | |
发表时间:2007-01-10
一个框架成熟后,有时添加的功能往往是为了独善其身,要是不提供这样的功能,竞争者并会在比较时拿来做为论据,但作为开发者,这些完善性的功能,是需要学习代价的。
|
|
返回顶楼 | |
发表时间:2007-01-10
stamen 写道 虽然Spring提供了这个扩展功能,但我觉得这项功能基本上没有什么意义,只要用好Spring自定义的
singleton,prototype,request,session和globalSession就够了。这种功能是拿来宣传的,而不是实战的。 一个场景: 例如在银行的柜面交易,我要存入10k,并转账20k到另一个帐户,从我与柜面的小姐开始打交道,到我离开柜台,假设这是一个 session,而每次发生的交易都是一个 long time transaction(因为金额数目或者其它原因,例如需要授权等,这并不是一个单一的 request),这时候需要有一个 transaction scope 的 bean 来临时存放我的数据,在我离开柜台后销毁。这时候就需要有 transaction scope 了,而这个 scope 是需要自己实现的。 当然,实际上银行不是用这种方式来 manage transaction 的。这里只是一个虚拟的例子而已。 |
|
返回顶楼 | |