【spring教程之四】spring中bean的作用域
1、
<bean id="stage" class="com.test.pro.Stage">
在spring中,bean默认都是单例的,也就是说,spring容易只会实例化一次,在以后的每次调用中,都会使用同一个实例。下面的例子可以说明:
2、测试类
package com.test.pro; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub ApplicationContext ctx=new ClassPathXmlApplicationContext("spring.xml"); Stage stage1=(Stage)ctx.getBean("stage"); Stage stage2=(Stage)ctx.getBean("stage"); System.out.println(stage1.equals(stage2));//判断两个实例是否相同 } }
输出结果是:true。说明了在默认情况下,得到的bean类都是单例的。
3、当我们在xml中改变了bean的作用域之后
<bean id="stage" class="com.test.pro.Stage" scope="prototype">
同样的测试类,输出结果是false,说明这个时候,得到的是不同的实例化的对象,也就是多个对象。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。