最近看了一段代码其中用到了@ConditionalOnProperty注解,直接没有了解过这个注解,今天看到了顺便了解一下
具体代码如下
- @Configuration
- public class WebConfig {
- @Bean
- @ConditionalOnProperty(prefix = "rest", name = "auth-open", havingValue = "true", matchIfMissing = true)
- public AuthFilter jwtAuthenticationTokenFilter() {
- return new AuthFilter();
- }
- }
prefix application.properties配置的前缀
name 属性是从application.properties配置文件中读取属性值
havingValue 配置读取的属性值跟havingValue做比较,如果一样则返回true;否则返回false。
如果返回值为false,则该configuration不生效;为true则生效
matchIfMissing = true表示如果没有在application.properties设置该属性,则默认为条件符合
上面代码的意思是
是否启动jwt的的配置,如果application.properties配置中没有设置就启动jwt,如果设置了true就启动,如果false就关闭
application.properties 配置如下
- rest:
- auth-open: true #jwt鉴权机制是否开启(true或者false)
如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:springboot ConditionalOnProperty注解
本文链接地址:https://www.phpsong.com/3782.html