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接口;