作用域 | 定义 |
---|---|
singleton | 在每一个Spring容器中,一个Bean定义只有一个对象实例(默认) |
prototype | 允许Bean的定义可以被实例化任意次(每次调用都创建一个实例) |
request | 在一次Http请求中,每个Bean定义对应一个实例,该作用域仅在基于web的Spring上下文(例如Spring MVC)中才有效 |
session | 在一个Http Session中,每个Bean定义对应一个实例,该作用域仅在基于web的Spring上下文(例如Spring MVC)中才有效 |
global-session | 在一个全局Http Session中,每个Bean定义对应一个实例,该作用域仅在Portlet上下文中才有效 |
默认情况下:Bean都是单例的,可以通过定义Bean的scope属性来改变Bean的作用域。
配置文件.xml中:
<bean id="boat" class="com.firewolf.test.createspring.Boat" scope="prototype"/>
注解配置Bean中:
使用@Scope("prototype")来修改