5.配备Spring管理的bean的作用域

5.配置Spring管理的bean的作用域
一.Bean的作用域
1.Singleton(默认,Spring 默认bean是单例的)
在每个Spring IoC 容器中一个bean定义只有一个对象实例。
<... scope="singleton">
默认情况下会在容器启动时初始化bean, 但是我们可以指定Bean节点的 lazy-init="true" 来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean。如:
<bean id="personService" class="com.spring.service.impl.PersonServiceBean" lazy-init="true"></bean>

如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init="true" , 如下:<beans default-lazy="true" ...>


2.protoype -- 每次从容器获取bean都是新的对象
<bean id="personService" class="com.spring.service.impl.PersonServiceBean" scope="prototype"></bean>

<... scope="prototype">

3.request (web 用)
4.session (web 用)
5.global session (web 用)