Spring 梳理-bean作用域

  1. Spring定义了多种域
    1. 单例(Singleton):在整个应用中,只有一个实例
    2. 原型(Prototype):每次注入或者通过Spring应用上线文获取时,都创建一个bean实例
    3. 会话(Session):在web应用中,为每个会话创建一个bean.使用场景:购物车
    4. 请求(Request):在web应用中,为每个请求创建一个bean
  2. 指定作用域
    1. 在组件扫描和自动装配中
      1. @Component
        @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

         

    2. 在xml配置中
      1.   
        <bean id="xx" class="org.apache.xx" scope="prototype"/>

         

  3. 将会话级别的bean注入到系统级别的bean时,需要特殊处理,否则系统启动时会提示,bean不存在。
    1.   解决方法
      <bean id="xx" class="org.apache.购物车类">
          <aop:scoped-proxy/>
      </bean>

       

    2.   为了使用“<aop:scoped-proxy/>”,还必须在beans的xml中引入Spring的aop命名空间

posted on 2018-09-22 23:31  手握太阳  阅读(141)  评论(0编辑  收藏  举报

导航