有人可以解释一下我一直只使用“原型”的Spring bean的作用域吗,但是还有其他参数可以代替吗?
我在说什么的例子
<bean id="customerInfoController" class="com.action.Controller" scope="prototype">
<property name="accountDao" ref="accountDao"/>
<property name="utilityDao" ref="utilityDao"/>
<property name="account_usageDao" ref="account_usageDao"/>
</bean>
从spring规范开始,支持五种类型的bean作用域:
1.singleton(default*)
每个Spring IoC容器将单个bean定义的作用域限定为单个对象实例。
2.prototype
将单个bean定义的作用域限定为任意数量的对象实例。
3.request
将单个bean定义的范围限定为单个HTTP请求的生命周期;也就是说,每个HTTP请求都将在单个bean定义的后面创建自己的bean实例。仅在可感知网络的Spring ApplicationContext上下文中有效。
4.session
将单个bean定义的作用域限定为HTTP会话的生命周期。仅在可感知网络的Spring ApplicationContext上下文中有效。
5.global session
将单个bean定义的作用域限定为全局HTTP会话的生命周期。通常仅在portlet上下文中使用时才有效。仅在可感知网络的Spring ApplicationContext上下文中有效。