java - 在 Spring 的两个 bean 之间切换

标签 java spring

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

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

最佳答案

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

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

但是,如果您有一个单独的场景,当您通过 JUnit 运行它时,您在类中加载 bean 1 以正常工作,并在类中加载 bean 2,那么您应该采用完全不同的方法 -

有两个不同的applicationContext.xml 文件。第一个在您的代码运行时加载,然后在您通过 JUNIT 运行代码时加载其他(applicationContext-test.xml)。这样你就可以在不改变代码的情况下加载不同的bean。

关于java - 在 Spring 的两个 bean 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5337008/

相关文章:

java - 获取 JAR 文件的位置

spring - 使用@Value 注释

spring - 在 spring session 中配置 Cookie 域

java - Spring MVC : How to stream mp3 file from controller

java - 在 Activity 更新时更新 tabpager fragment 数据

java - 在 Grails 中发布嵌套资源的问题

java - Glassfish 中的 ThreadLocal 内存泄漏

java - 带注解的代码风格

java - Spring Controller 不响应 https

spring - 如何在Spring-ws中定位生成的wsdl的路径