prototype的作用
对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域。在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例。
要将Bean定义为prototype作用域,只需在配置文件中将<bean>元素的scope属性值设置为prototype即可,其示例代码如下:
<bean id="scope" class="com.itheima.scope.Scope" scope="prototype" />
将上一小节中的配置文件更改成上述代码形式后,再次运行测试类ScopeTest,控制台的输出结果如图1所示。
图1 运行结果
从图15可以看到,两次输出的Bean实例并不相同,这说明在prototype作用域下,创建了两个不同的Scope实例。