Spring学习(二) bean的作用域
程序员文章站
2022-05-21 22:20:42
...
一、常用bean的作用域
1.singleton
在每个Spring Ioc容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定bean节点的lazy-init="true"来延时初始化bean,这时候,只有第一次获取bean时,才会去初始化bean。如:
<bean id="personService" class="com.bill.impl.PersonServiceBean" lazy-init="true"/>
如果对所有bean都应用延时初始化,可以在根节点beans设置default-lazy-init="true",如下:
<beans default-lazy-init="true" ...>
2.prototype
每次从容器获取bean都是新的对象。在容器启动时并没有被实例化,只有在调用getbean()的时候,PersonServiceBean才被实例化
二、另外在web应用时使用到如下作用域
3.request
4.session
5.global session
1.singleton
在每个Spring Ioc容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定bean节点的lazy-init="true"来延时初始化bean,这时候,只有第一次获取bean时,才会去初始化bean。如:
<bean id="personService" class="com.bill.impl.PersonServiceBean" lazy-init="true"/>
如果对所有bean都应用延时初始化,可以在根节点beans设置default-lazy-init="true",如下:
<beans default-lazy-init="true" ...>
2.prototype
每次从容器获取bean都是新的对象。在容器启动时并没有被实例化,只有在调用getbean()的时候,PersonServiceBean才被实例化
<bean id="personService" class="com.bill.impl.PersonServiceBean" scope="prototype"/>
二、另外在web应用时使用到如下作用域
3.request
4.session
5.global session
下一篇: 软件工程实践第二次作业——个人项目
推荐阅读