參考鏈接:https://blog.csdn.net/sqlgao22/article/details/96476754
@ConditionalOnProperty註解結合@Configuration使用來控制配置類是否生效
@Configuration
@ConditionalOnProperty(prefix = "filter",name = "loginFilter",havingValue = "true")
public class FilterConfig {
//prefix爲配置文件中的前綴,
//name爲配置的名字
//havingValue是與配置的值對比值,當兩個值相同返回true,配置類生效.
@Bean
public FilterRegistrationBean getFilterRegistration() {
FilterRegistrationBean filterRegistration = new FilterRegistrationBean(new LoginFilter());
filterRegistration.addUrlPatterns("/*");
return filterRegistration;
}
}
配置文件中的代碼:
filter.loginFilter=true
總結:通過@ConditionalOnProperty控制配置類是否生效,可以將配置與代碼進行分離,實現了更好的控制配置.
@ConditionalOnProperty實現是通過havingValue與配置文件中的值對比,返回爲true則配置類生效,反之失效.
————————————————
版權聲明:本文爲CSDN博主「黑白格tt」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sqlgao22/article/details/96476754