@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