【Spring】3.2、条件化Bean

使用@Conditional注解

@Conditional注解中给定一个类,这个类实现Condition接口,其中实现的matches方法的值代表改bean是否生成。

@Configuration
public class MagicConfig {

  @Bean
  @Conditional(MagicExistsCondition.class)
  public MagicBean magicBean() {
    return new MagicBean();
  }
  
}
public class MagicExistsCondition implements Condition {

  @Override
  public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
    Environment env = context.getEnvironment();
    return env.containsProperty("magic");
  }
  
}

 ConditionContext接口

AnnotatedTypeMetadata接口

 

posted @ 2018-05-05 16:33  LiveYourLife  阅读(328)  评论(0)    收藏  举报