本文以Spring4.1.6 为例
初期的spring中bean有两种:单例(singleton)和 原型(Prototype)
spring 默认bean的scope 是 singleton,对于有状态的bean 不能重复使用需要设置scope 为Prototype
即每次组装时生成一个全新的bean 的实例
之后Spring web 应用又加入了 会话(Session)、请求(Request)、(global session)、(Appleaction)
代码示例:
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
BOOServie service;
XML配置bean
<bean id=“mybean” class="com.myapp.Notepad" scope="session"/>
@Component
@Scope(value=WebApplicationContext.SCOPE_APPLICATION,proxyMode=ScopedProxyMode.INTERFACES)
BOOServie service;