spring applicationcontext两次初始化

时间:2015-02-19 17:39:39

标签: spring

我有一个spring applicationcontext xml文件,在Main.java中我使用了以下内容。

ApplicationContext ctx1 = new ClassPathXmlApplicationContext("bean.xml");
ApplicationContext ctx2 = new ClassPathXmlApplicationContext("bean.xml");

A a = (A)ctx1.getBean("a");
A b = (A)ctx2.getBean("a");

在这两个类 A 的实例中,因为容器正在加载配置文件两次,弹出生命周期将被调用两次。

我说错了吗?

1 个答案:

答案 0 :(得分:1)

你是对的。 ApplicationContext是独立且独立的。假设你的a bean只是一个普通的bean

<bean name="a" class="com.example.A"/>

然后两个变量ab将引用不同的实例。