我有一种情况,我正在为特定的 bean 使用一种可能的实现,它看起来像这样:
@Configuration
public class MyConfig {
@Autowired
private ApplicationContext context;
@Bean
public SomeInterface someInterface() {
if (this.context.getEnvironment().getProperty("implementation") != null) {
return new ImplementationOne();
} else {
return new ImplementationTwo();
}
}
}
到目前为止,这工作得很好,直到出现新的要求,使用一个额外的接口,目前只ImplementationTwo提供实现,使用它是没有意义的ImplementationOne:
@Bean
public SomeOtherInterface someOtherInterface() {
return new ImplementationTwo();
}
我想这会起作用,但我想知道这是否真的有意义,因为在一种情况下,我可以让两个 bean 基本上实例化同一个对象。那有意义吗 ?有没有更好的方法来实现同样的目标?
波斯汪
慕慕森
相关分类