SpringBoot獲取配置文件中的配置項(xiàng)的常用方式
SpringBoot中獲取配置項(xiàng)的常用方式
主要是@Value注解、使用Environment對(duì)象、@ConfigurationProperties注解
在application.properties配置文件中,有一個(gè)配置項(xiàng):test.config.version=111
配置項(xiàng)的名稱是:test.config.version,對(duì)應(yīng)的值為111

在SpringBoot中,如何獲取它的具體值?
一、@Value注解
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {
// 冒號(hào)后面可以設(shè)置該配置項(xiàng)的默認(rèn)缺省值,當(dāng)這個(gè)配置項(xiàng)不存在或者值為空的時(shí)候,它的值就是冒號(hào)后面的值
@Value("test.config.version:222")
private String conf;
@RequestMapping("/config2")
public String getConfig2(){
log.info("test.config.version :{} " , conf);
return conf;
}
}
結(jié)果:

二、使用Environment對(duì)象
實(shí)現(xiàn)EnvironmentAware接口,讓spring把environment對(duì)象注入到要使用它的bean中,調(diào)用getProperty方法獲取配置項(xiàng)的值。
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController implements EnvironmentAware {
private Environment environment;
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
@RequestMapping("/config1")
public String getConfig1(){
log.info("test.config.version :{} " ,environment.getProperty("test.config.version"));
return environment.getProperty("test.config.version");
}
}
結(jié)果:

三、@ConfigurationProperties注解
寫(xiě)一個(gè)配置類,利用@ConfigurationProperties注解來(lái)指定該類對(duì)應(yīng)的配置項(xiàng)的前綴,成員變量的名字就是配置項(xiàng)的后綴,這個(gè)類的成員變量用于承接對(duì)應(yīng)的配置項(xiàng)的值。
@Data注解是Lombok提供的,可以自動(dòng)生成getter和setter。
@Component
@ConfigurationProperties(prefix = "test.config")
@Data
public class TestConf {
// 相當(dāng)于test.config.version的值,就注入到了該成員變量中
private String version;
}
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController implements EnvironmentAware {
@Resource
TestConf testConf;
@RequestMapping("/config3")
public String getConfig3(){
log.info("test.config.version :{} " , testConf.getVersion());
return testConf.getVersion();
}
}
結(jié)果:

到此這篇關(guān)于SpringBoot獲取配置文件中的配置項(xiàng)的常用方式的文章就介紹到這了,更多相關(guān)SpringBoot獲取配置文件配置項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java SSH 秘鑰連接mysql數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Java SSH 秘鑰連接mysql數(shù)據(jù)庫(kù)的方法,包括引入依賴的代碼和出現(xiàn)異常報(bào)錯(cuò)問(wèn)題,需要的朋友可以參考下2021-06-06
CountDownLatch源碼解析之countDown()
這篇文章主要為大家詳細(xì)解析了CountDownLatch源碼之countDown方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目
這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Kafka利用Java實(shí)現(xiàn)數(shù)據(jù)的生產(chǎn)和消費(fèi)實(shí)例教程
這篇文章主要給大家介紹了關(guān)于Kafka利用Java實(shí)現(xiàn)數(shù)據(jù)的生產(chǎn)和消費(fèi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
SpringBoot添加Email發(fā)送功能及常見(jiàn)異常詳解
本篇文章主要介紹了SpringBoot添加Email發(fā)送功能及常見(jiàn)異常詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-04-04
詳解Eclipse提交項(xiàng)目到GitHub以及解決代碼沖突
這篇文章主要介紹了詳解Eclipse提交項(xiàng)目到GitHub以及解決代碼沖突,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
SpringBoot中shiro過(guò)濾器的重寫(xiě)與配置詳解
在前后端分離跨域訪問(wèn)的項(xiàng)目中shiro進(jìn)行權(quán)限攔截失效 (即使有正確權(quán)限的訪問(wèn)也會(huì)被攔截) 時(shí)造成302重定向錯(cuò)誤等問(wèn)題,為解決這個(gè)問(wèn)題,就需要進(jìn)行shiro過(guò)濾器的重寫(xiě)以及配置。本文詳細(xì)介紹了解決方法,需要的可以參考一下2022-04-04
SpringBoot JS-SDK自定義微信分享的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot JS-SDK自定義微信分享的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

