在开发中会遇到一些需求:在配置文件中设置一个enable,当这个配置为true的时候,才进行相关的配置类的初始化。

示例:

需要实例化的bean,请不要加@Component注解

public class TestBean {
  
  public TestBean(){
    
  }
  
  public doSomeThing(){
    
  }
}

配置类:

@Configuration
@ConditionalOnExpression("${test.enabled:true}")
public class TestConfiguration {
    @Bean
    public TestBean testBean() {
        return new TestBean();
    }
}

配置文件:

test.enabled: true

这个bean只有在test.enabled: true的时候才会进行初始化。