Spring的Bean的作用域

singleton:

  * IOC中只存在一个共享的Bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例

  *  与单例模式区别:单例设计模式表示一个ClassLoader中只有一个class存在,而这里的singleton则表示一个容器对应一个bean

    <bean id="aaa" class="com.test.Role" scope="singleton"/>

  获取bean :

      User  user1=new User();

      user1 = (User) ac.getBean("user1");

      user1 = (User) ac.getBean("user1");两次调用只实例化一次

prototype:

  * 每次请求就产生一个实例对象 ,spring不能对一个prototype bean的整个生命周期负责,不能回调,所以清除prototype对象是客服端点做得,

  * 也可以用个后置处理器

  

  获取bean :

      User  user1=new User();

      user1 = (User) ac.getBean("user1");

      user1 = (User) ac.getBean("user1");两次调用实例化两次

 

Request:

  配置web.xml

     <Listener-class>

    org.spring.framework.web.context.request.RequestContextListener

  </Listener-class>

session:

  <Listener-class>

    org.spring.framework.web.context.session.SessionContextListener

  </Listener-class>

global session:

  用于portlet

 

自定义:

  主要实现Scope接口;

posted @ 2015-04-20 22:07  注册邮箱  阅读(293)  评论(0编辑  收藏  举报