1.8 bean中的scope属性
戴着假发的程序员 出品
[查看视频讲解]
scope属性用于指定bean的作用域。可以取一下几个值:
singleton:单例模式(默认);
prototype:多例模式;
request:作用于web应用的请求范围;
session:作用于web应用的会话范围
global-session:作用于集群环境的会话范围;
其中使用比较多的是singleton,这个也是默认值。
spring在容器创建的同时就会创建所有scop为singleton的对象,我们从容器中获取同一个singleton对象无论多少次,获取的都是同一个对象。
1 <!-- 注册accountService --> 2 <bean id="accountService" scope="singleton" class="com.dk.demo1.service.AccountService"> 3 <!-- 给accountService注入属性accountDAO --> 4 <property name="accountDAO" ref="accountDAO"/> 5 </bean>
测试:
1 //创建spring容器 2 ApplicationContext ac = 3 new ClassPathXmlApplicationContext("applicationContext.xml"); 4 AccountService bean1 = (AccountService) ac.getBean("accountService"); 5 AccountService bean2 = (AccountService) ac.getBean("accountService"); 6 bean.save("bean1==bean2-->"+(bean1==bean2));
1 <!-- 注册accountService --> 2 <bean id="accountService" scope="prototype" class="com.dk.demo1.service.AccountService"> 3 <!-- 给accountService注入属性accountDAO --> 4 <property name="accountDAO" ref="accountDAO"/> 5 </bean>
我是戴着假发的程序员,分享技术,分享经验,如果要转载,请注明:出自戴着假发的程序员