一.singleton
singleton 在spring IoC容器中仅存在一个Bean的实例,Bean以单实例的方式存在
singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例。singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择。
二.prototype
prototype 每次从容器中调用Bean时,都返回一个新的实例。
对需要保持会话状态的Bean(如Struts 2的Action类)应该使用prototype作用域。在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例。
三.request
request 每次Http请求都会创建一个新的Bean。
四.session
session 同一个Http Session共享一个Bean,不同的Http Session 使用不同的Bean
五.globalSession
globalSession 同一个全局Session共享一个Bean,一般用于Portlet应用环境。
注:低版本spring中仅有singleton和prototype两种作用域
在spring2.0中针对WebApplicationContext新添加了3个新的作用域