Spring 梳理-bean作用域
- Spring定义了多种域
- 单例(Singleton):在整个应用中,只有一个实例
- 原型(Prototype):每次注入或者通过Spring应用上线文获取时,都创建一个bean实例
- 会话(Session):在web应用中,为每个会话创建一个bean.使用场景:购物车
- 请求(Request):在web应用中,为每个请求创建一个bean
- 指定作用域
- 在组件扫描和自动装配中
-
@Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
- 在xml配置中
-
<bean id="xx" class="org.apache.xx" scope="prototype"/>
-
- 将会话级别的bean注入到系统级别的bean时,需要特殊处理,否则系统启动时会提示,bean不存在。
- 解决方法
<bean id="xx" class="org.apache.购物车类"> <aop:scoped-proxy/> </bean>
- 为了使用“<aop:scoped-proxy/>”,还必须在beans的xml中引入Spring的aop命名空间
- 解决方法