Spring框架学习:IOC操作Bean管理-Bean的作用域(六)

作用域scope:

作用域 描述
singleton 在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的默认值。
prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()。
request 每次HTTP请求都会创建一个新的Bean,该作用域仅适用于web的Spring WebApplicationContext环境。
session 同一个HTTP Session共享一个Bean,不同Session使用不同的Bean。该作用域仅适用于web的Spring WebApplicationContext环境。
application 限定一个Bean的作用域为ServletContext的生命周期。该作用域仅适用于web的Spring WebApplicationContext环境。

代码实现设置多实例:

<bean id="book" class="com.spring5.collectiontype.Book" scope="prototype">
        <property name="list" ref="bookList"></property>
    </bean>

执行结果,对象不一致:

com.spring5.collectiontype.Book@4b53f538
com.spring5.collectiontype.Book@134593bf

1、在Spring里面,可以设置创建的bean实例是单实例还是多实例

2、在Spring里面,默认情况下,bean是单实例对象

singleton和prototype区别

第一:singleton单实例,prototype多实例
第二:设置scope值是singleton时候,加载spring配置文件时候就会创建单实例对象
设置scope值是prototype时候,不是在加载spring配置文件时候创建对象,在调用getBean方法时候创建多实例对象

暂无评论

发送评论 编辑评论


				
上一篇
下一篇