我试图理解一个在使用 spring xml 应用程序上下文时对我来说似乎很简单但在使用注释时似乎更加模糊的场景。
假设我有一个看起来像这样的类(这都是为了举例。不要注意类名等......):
@Component
public class BusinessLogicImpl implements BusinessLogic {
@Autowire
BeanThatTalksWithDataSource beanThatTalksWithDataSource;
@Autowire
BeanThatDoesSomeWork beanThatDoesSomeWork;
}
然后我有一些其他的 bean 使用这个 bean
@Component
public class MainLogicImpl implements MainLogic {
@Autowire
BusinesLogic businessLogic;
}
让我们假设BeanThatTalksWithDataSource
有 2 个实现 - 一个与文件系统数据源一起使用,另一个与 DB 一起使用。还有BeanThatDoesSomeWork
2 种不同的实现。
我想创建 4 种不同的配置,这些配置涉及 2 的实现BeanThatTalksWithDataSource
与 2 的实现的每种组合,BeanThatDoesSomeWork
最后将正确的变体加载到MainLogicImpl
.
在 xml 中这相当容易——我创建了 4 个 xml 文件,它们包含 4 个不同的可能上下文。在使用注解时,这种事情的等价物是什么?
我想强调一下,我说的是注解而不是 @Configuration 类。我试图弄清楚仅使用注释是否可能。