Spring框架注解里面@Scope什么意思

Spring框架注解里面@Scope什么意思

Spring框架注解里面@Scope什么意思

文章插图
@Scope 简单点说就是用来指定bean的作用域(官方解释:scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象),其默认作用域是"singleton",如果要换成其他作用区域,直接后面添加类型即可,比如@Scope("prototype") ,注意spring2.0后 又增加了request ,session和global session 4个作用区域,希望对你有帮助 。
SPRING中属性SCOPE的prototype是什么意思
Spring框架注解里面@Scope什么意思

文章插图
sco
Spring默认的Bean的scope是什么
Spring框架注解里面@Scope什么意思

文章插图
scope属性可以理解成bean的生命周期
1.默认的值是singleton(単例),spring容器只会创建一个相应的bean实例,所有的对该bean的请求,spring容器都只返回这个实例 。
2.还可取值proptotype(原型),每次请求都会获得新的bean实例 。
修改spring scope的默认配置
Spring框架注解里面@Scope什么意思

文章插图
可以修改的,在每个spring的xml配置文件的开头处(spring支持多文件配置),<beans>标记内修改你需要的属性,则此属性将对该文件下的所有<bean>生效 。
Spring默认的Bean的scope是什么?
Spring框架注解里面@Scope什么意思

文章插图
它代表变量的范围的意思,它一般包括四种范围,包括request,context,session,application等,每个范围都有特定的时间和请求有效限制,
1.对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用createBean进行实例化 。
2.对于ApplicationContext容器,当容器启动结束后,便实例化所有的bean 。
并且这一步仅仅是简单的实例化,并未进行依赖注入 。实例化对象被包装在BeanWrapper对象中,BeanWrapper提供了设置对象属性的接口,从而避免了使用反射机制设置属性 。
3.实例化后的对象被封装在BeanWrapper对象中,并且此时对象仍然是一个原生的状态,并没有进行依赖注入 。
4.紧接着,Spring根据BeanDefinition中的信息进行依赖注入 。
并且通过BeanWrapper提供的设置属性的接口完成依赖注入 。
5.当经过上述几个步骤后,bean对象已经被正确构造,但如果你想要对象被使用前再进行一些自定义的处理,就可以通过BeanPostProcessor接口实现 。
Spring框架注解里面的“@Scope”是什么意思?
Spring框架注解里面@Scope什么意思

文章插图
http://blog.csdn.net/chjttony/article/details/6286144http://blog.csdn.net/jadyer/article/details/6038604@Repository、 @Service、 @Co