Spring中的@ConditionalOnProperty作用和用法詳解
@ConditionalOnProperty的作用和用法
在spring boot中有時(shí)候需要控制配置類是否生效,可以使用@ConditionalOnProperty注解來(lái)控制@Configuration是否生效
配置類代碼
@Configuration
@ConditionalOnProperty(prefix = "filter",name = "loginFilter",havingValue = "true")
public class FilterConfig {
//prefix為配置文件中的前綴,
//name為配置的名字
//havingValue是與配置的值對(duì)比值,當(dāng)兩個(gè)值相同返回true,配置類生效.
@Bean
public FilterRegistrationBean getFilterRegistration() {
FilterRegistrationBean filterRegistration = new FilterRegistrationBean(new LoginFilter());
filterRegistration.addUrlPatterns("/*");
return filterRegistration;
}
}配置文件中的代碼
filter.loginFilter=true
測(cè)試
當(dāng)配置文件中值為true時(shí):輸出了"過(guò)濾器"三個(gè)字,說(shuō)明loginFilter生效了,說(shuō)明配置類生效了.

當(dāng)配置文件中值為false時(shí):沒(méi)有輸出了"過(guò)濾器"三個(gè)字,說(shuō)明loginFilter沒(méi)有生效,說(shuō)明配置類沒(méi)有生效.

總結(jié)
通過(guò)@ConditionalOnProperty控制配置類是否生效,可以將配置與代碼進(jìn)行分離,實(shí)現(xiàn)了更好的控制配置. @ConditionalOnProperty實(shí)現(xiàn)是通過(guò)havingValue與配置文件中的值對(duì)比,返回為true則配置類生效,反之失效.
到此這篇關(guān)于Spring中的@ConditionalOnProperty作用和用法詳解的文章就介紹到這了,更多相關(guān)@ConditionalOnProperty作用和用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 線程池ThreadPoolExecutor源碼解析
這篇文章主要介紹了Java 線程池ThreadPoolExecutor源碼解析2022-03-03
Java使用Flexmark-Java輕松實(shí)現(xiàn)Markdown全場(chǎng)景轉(zhuǎn)換
Flexmark-Java是一款高性能的Markdown解析器,無(wú)論是將Markdown轉(zhuǎn)換為HTML、PDF還是DOCX,這款工具都能提供高速處理、高度靈活性以及詳細(xì)的AST構(gòu)建能力,幫助開(kāi)發(fā)者輕松應(yīng)對(duì)各類文檔轉(zhuǎn)換需求,本文給大家介紹了如何用Flexmark-Java輕松實(shí)現(xiàn)Markdown全場(chǎng)景轉(zhuǎn)換2025-11-11
Maven打包項(xiàng)目時(shí)插件報(bào)錯(cuò)問(wèn)題及解決過(guò)程
文章描述了在使用Maven打包時(shí)遇到的問(wèn)題,由于打包路徑中包含中文導(dǎo)致失敗,通過(guò)將路徑更改為無(wú)中文字符的路徑,問(wèn)題解決并成功打包,附帶成功打包的截圖作為證據(jù)2026-03-03
Java中5種方式實(shí)現(xiàn)String反轉(zhuǎn)
下面小編就為大家?guī)?lái)一篇Java中5種方式實(shí)現(xiàn)String反轉(zhuǎn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。2016-06-06
如何使用IDEA查看java文件編譯后的字節(jié)碼內(nèi)容
這篇文章主要介紹了如何使用IDEA查看java文件編譯后的字節(jié)碼內(nèi)容,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java Development Kit(JDK)使用及說(shuō)明
文章介紹了JDK(Java開(kāi)發(fā)工具包)的定義、功能及與JRE、JVM的區(qū)別,強(qiáng)調(diào)JDK包含開(kāi)發(fā)工具和庫(kù),適合開(kāi)發(fā)者,而JRE僅用于運(yùn)行程序,同時(shí)概述了JDK23版本新增特性及安裝步驟2025-09-09
Java開(kāi)發(fā)之普通web項(xiàng)目轉(zhuǎn)為Maven項(xiàng)目的方法
這篇文章主要給大家介紹了關(guān)于Java開(kāi)發(fā)之普通web項(xiàng)目轉(zhuǎn)為Maven項(xiàng)目的相關(guān)資料,文中通過(guò)圖文將轉(zhuǎn)換的方法步驟介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
Spring Boot 直接用jar運(yùn)行項(xiàng)目的方法
這篇文章主要介紹了Spring Boot 直接用jar運(yùn)行項(xiàng)目的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2018-02-02
mybatis-plus中l(wèi)ambdaQuery()與lambdaUpdate()比較常見(jiàn)的使用方法總結(jié)
mybatis-plus是在mybatis的基礎(chǔ)上做增強(qiáng)不做改變,簡(jiǎn)化了CRUD操作,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus中l(wèi)ambdaQuery()與lambdaUpdate()比較常見(jiàn)的使用方法,需要的朋友可以參考下2022-09-09
在Android系統(tǒng)中使用WebViewClient處理跳轉(zhuǎn)URL的方法
這篇文章主要介紹了在Android系統(tǒng)中使用WebViewClient處理跳轉(zhuǎn)URL的方法,實(shí)現(xiàn)代碼為Java語(yǔ)言編寫(xiě),是需要的朋友可以參考下2015-07-07

