spring bean作用域有以下5个:
singleton:单例模式,当spring创建applicationContext容器的时候,spring会欲初始化所有的该作用域实例,加上lazy-init就可以避免预处理;
prototype:原型模式,每次通过getBean获取该bean就会新产生一个实例,创建后spring将不再对其管理;
====下面是在web项目下才用到的===
request:搞web的大家都应该明白request的域了吧,就是每次请求都新产生一个实例,和prototype不同就是创建后,接下来的管理,spring依然在监听
session:每次会话,同上
global session:全局的web域,类似于servlet中的application
注意:当使用request,session,globalsession时需要再web.xml里配置监听器
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
上述配置只支持servlet2.4+版本的,如果低于该版本,容器不支持listener的规范,就要配置成filter的配置方法
filter的具体配置大家自己查吧,filter对应的calss是:org.springframework.web.filter.RequestContextFilter
如果项目采用了springmvc就不需要上面的web.xml的配置了