Spring中的@ConditionalOnProperty作用和用法詳解
@ConditionalOnProperty的作用和用法
在spring boot中有時候需要控制配置類是否生效,可以使用@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
測試
當配置文件中值為true時:輸出了"過濾器"三個字,說明loginFilter生效了,說明配置類生效了.
當配置文件中值為false時:沒有輸出了"過濾器"三個字,說明loginFilter沒有生效,說明配置類沒有生效.
總結(jié)
通過@ConditionalOnProperty控制配置類是否生效,可以將配置與代碼進行分離,實現(xiàn)了更好的控制配置. @ConditionalOnProperty實現(xiàn)是通過havingValue與配置文件中的值對比,返回為true則配置類生效,反之失效.
到此這篇關(guān)于Spring中的@ConditionalOnProperty作用和用法詳解的文章就介紹到這了,更多相關(guān)@ConditionalOnProperty作用和用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用@Validated處理校驗的方法步驟
@Validated?注解的主要目的是啟用和利用?Spring?的驗證框架,它可以用于類上也可以用于方法參數(shù)上,本文給大家介紹了SpringBoot使用@Validated優(yōu)雅的處理校驗的方法步驟,通過代碼示例介紹的非常詳細,需要的朋友可以參考下2024-08-08基于SpringBoot實現(xiàn)驗證碼功能(兩種驗證碼方式)
這篇文章主要介紹了基于SpringBoot實現(xiàn)驗證碼功能,今天我們介紹的是兩種主流的驗證碼,一種就是進行計算的驗證碼,另外一種就是不需要計算,直接輸入的驗證碼,需要的朋友可以參考下2024-08-08Mybatis-Plus使用updateById()、update()將字段更新為null
本文主要介紹了Mybatis-Plus使用updateById()、update()將字段更新為null,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08SpringBoot+MyBatis簡單數(shù)據(jù)訪問應(yīng)用的實例代碼
這篇文章主要介紹了SpringBoot+MyBatis簡單數(shù)據(jù)訪問應(yīng)用的實例代碼,需要的朋友可以參考下2017-05-05Mybatis-plus自動填充不生效或自動填充數(shù)據(jù)為null原因及解決方案
本文主要介紹了Mybatis-plus自動填充不生效或自動填充數(shù)據(jù)為null原因及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05