Spring-boot中使用@ConditionalOnExpression注解,在特定情况下初始化bean

想要实现的功能:

我想在配置文件中设置一个开关,enabled,在开关为true的时候才实例化bean,进行相关业务逻辑的操作。

具体实现:

1:要实例化的bean

2. 配置类

 

代码:

想要实例化的bean:在这个类上不要加@Component注解

public class OrderMessageMonitor {

    public OrderMessageMonitor(ConfigContext configContext) {
    ……
    
    }
    public doSomeThing() {
    }

}

配置类:

@Configuration
@ConditionalOnExpression("${enabled:false}")
public class BigpipeConfiguration {
    @Bean
    public OrderMessageMonitor orderMessageMonitor(ConfigContext configContext) {
        return new OrderMessageMonitor(configContext);
    }
}

 

posted @ 2016-12-09 19:03  SonoFelice  阅读(17530)  评论(1编辑  收藏  举报