Spring 3动态选择bean类

时间:2013-09-09 15:42:12

标签: java spring applicationcontext

因此,在我正在构建的spring 3应用程序中,能够从配置中读取值,然后根据读取的值,在接口的两个实现之间进行选择,然后构建一个bean那个对象。

我有配置文件设置(使用util:properties),其他java代码正好访问它,但我不确定如何在我的应用程序上下文xml文件中引用它,以及如何编码这个条件逻辑。或者我不正确地解决这个问题?

1 个答案:

答案 0 :(得分:0)

你可能想要类似的东西:

@Configuration
public class MyConfiguration {

  @Autowired
  ApplicationContext applicationContext;

  @Value("${someProperty}")
  String someProperty = "B";

  @Bean(name="myBean")
  public MyInterface ehCacheManager() {
    if ("A".equals(someProperty)) {
        return new MyInterfaceA();
    } else {
        return new MyInterfaceB();
    }
  }
}

然后,您可以通过某个属性区分使用哪个接口实现。