Spring只在满足条件时才创建bean

时间:2015-02-11 20:02:40

标签: spring spring-mvc

假设单个接口有两个实现,并且这些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();
  }

0 个答案:

没有答案