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,说明这个时候,得到的是不同的实例化的对象,也就是多个对象。
时间: 2024-12-24 22:40:56