Spring通过配置 中的 scope 属性设置对象的创建策略,共有五种创建策略:
- singleton:单例,默认策略。整个项目只会创建一个对象,通过 中的 lazy-init 属性可以设置单例对象的创建时机:
lazy-init=“false”(默认):立即创建,在容器启动时会创建配置文件中的所有Bean对象。
lazy-init=“true”:延迟创建,第一次使用Bean对象时才会创
建。
配置单例策略:
<bean id="studentDao"
class="com.itbaizhan.dao.StudentDaoImpl2"
scope="singleton" lazy-init="false">
</bean>
- prototype:多例,每次从容器中获取时都会创建对象。
配置多例策略:
<bean id="studentDao"
class="com.itbaizhan.dao.StudentDaoImpl2"
scope="prototype"></bean>
- request:每次请求创建一个对象,只在web环境有效。
- session:每次会话创建一个对象,只在web环境有效
- gloabal-session:一次集群环境的会话创建一个对象,只在web
环境有效。