@Conditional注释

@ConditionalOnBean 仅仅在当前上下文中存在某个对象时,才会实例化一个Bean。
@ConditionalOnClass  某个class位于类路径上,才会实例化一个Bean
@ConditionalOnExpression  当表达式为true的时候,才会实例化一个Bean。如:@ConditionalOnExpression("true")
@ConditionalOnMissingBean  仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean
@ConditionalOnMissingClass 某个class类路径上不存在的时候,才会实例化一个Bean
@ConditionalOnNotWebApplication

不是web应用

@ConditionalOnProperty

 @ConditionalOnProperty注解来控制@Configuration是否生效

 怎么在Condition中获取application.properties的配置项

 在实际开发中,我们的条件可能保存在application.properties中,那么怎么在Condition中获取呢,这个很简单,主要通过ConditionContext进行获取,具体代码如下:

String port = context.getEnvironment().getProperty("server.port");  
System.out.println(port);  

实例:自定义Conditional实现区分linux与windows,@ConditionalOnProperty的作用和用法

本文转载地址:https://www.iteye.com/blog/412887952-qq-com-2395065

原文地址:https://www.cnblogs.com/xr210/p/14465054.html