★学习目标:
1、熟悉Bean的作用域
★思考任务:
1、Bean有哪些作用域及如何配置?
★任务学习:
★知识要点:
1. 作用域的种类
注意:在上表5种作用域中,singleton和prototype是最常用的两种作用域。
2. singleton作用域
singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例。singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择。
在Spring配置文件中,可以使用<bean>元素的scope属性,将Bean的作用域定义成singleton,如:
例子:
package cn.guangke.instance.contructor;
public class Bean1 { }
bean的配置
<bean id="bean" class="cn.guangke.instance.contructor.Bean1" scope = "singleton" />
测试类

运行结果

3. prototype作用域
对需要保持会话状态的Bean(如Struts 2的Action类)应该使用prototype作用域。在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例。
在Spring配置文件中,同样使用<bean>元素的scope属性,将Bean的作用域定义成prototype ,如:
例子:
package cn.guangke.instance.contructor;
public class Bean1 { }
bean的配置
<bean id="bean" class="cn.guangke.instance.contructor.Bean1" scope = "prototype" />
测试类代码不变(与上一个例子中的测试类相同)
运行结果


