假设单个接口有两个实现,并且这些bean在spring配置xml中声明为bean。现在,我只需要一个基于系统属性的接口实现。而且,我不想创建bean的第二个实现。我怎样才能做到这一点?我查看了这个博客,但是下面这个博客的代码片段使用“new”操作来创建bean。在我的例子中,bean在spring配置文件中声明。
http://www.intertech.com/Blog/spring-4-conditional-bean-configuration/
@CONFIGURATION
PUBLIC CLASS MYCONFIGURATION {
@BEAN(NAME="EMAILERSERVICE")
@CONDITIONAL(WINDOWSCONDITION.CLASS)
PUBLIC EMAILSERVICE WINDOWSEMAILERSERVICE(){
RETURN NEW WINDOWSEMAILSERVICE();
}
@BEAN(NAME="EMAILERSERVICE")
@CONDITIONAL(LINUXCONDITION.CLASS)
PUBLIC EMAILSERVICE LINUXEMAILERSERVICE(){
RETURN NEW LINUXEMAILSERVICE();
}