最近看了一段代碼其中用到了@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