我正在尝试理解一个在使用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
有两种不同的实现方式。
我想创建4种不同的配置,包括BeanThatTalksWithDataSource
的2个实现与BeanThatDoesSomeWork
的2个实现的每个组合,最后将正确的变量加载到MainLogicImpl
在xml中它非常简单 - 我创建了4个xml文件,其中包含4种不同的可能上下文。使用注释时,这等同于什么?
我想强调的是我在谈论注释而不是@Configuration类。我正在试图弄清楚是否可以单独使用注释。
答案 0 :(得分:1)
您可以在4个不同的包中放置不同的实现,并为组件扫描选择不同的包。
答案 1 :(得分:1)