我有两个来自同一个类的豆(id1和id2),区别在于id和一些属性。
在代码中,我调用了getbean(id1)来获取对象。

如何在不重新编译代码的情况下切换到id2?

最佳答案

如果您有两个具有不同属性的不同bean,则意味着您有两个不同的对象。这意味着您像对待普通对象一样对待它们-

BeanClass b1 = (BeanClass) ctx.getBean("id1");
BeanClass b2 = (BeanClass) ctx.getBean("id2");


但是,如果您有单独的Scenerio,在其中您可以通过JUnit运行类中的正常工作而在类中加载bean 1,而在通过JUnit运行它时在类中加载bean 2,则应该完全采用另一种方法-

有两个不同的applicationContext.xml文件。通过代码运行时,第一个加载,然后通过JUNIT运行代码时,另一个加载(applicationContext-test.xml)。这样,您可以加载不同的bean,而无需更改代码。

07-26 09:29
查看更多