SpringBoot獲取配置文件中的配置項的常用方式
SpringBoot中獲取配置項的常用方式
主要是@Value注解、使用Environment對象、@ConfigurationProperties注解
在application.properties配置文件中,有一個配置項:test.config.version=111
配置項的名稱是:test.config.version,對應(yīng)的值為111
在SpringBoot中,如何獲取它的具體值?
一、@Value注解
@RestController @RequestMapping("/test") @Slf4j public class TestController { // 冒號后面可以設(shè)置該配置項的默認缺省值,當這個配置項不存在或者值為空的時候,它的值就是冒號后面的值 @Value("test.config.version:222") private String conf; @RequestMapping("/config2") public String getConfig2(){ log.info("test.config.version :{} " , conf); return conf; } }
結(jié)果:
二、使用Environment對象
實現(xiàn)EnvironmentAware接口,讓spring把environment對象注入到要使用它的bean中,調(diào)用getProperty方法獲取配置項的值。
@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注解
寫一個配置類,利用@ConfigurationProperties注解來指定該類對應(yīng)的配置項的前綴,成員變量的名字就是配置項的后綴,這個類的成員變量用于承接對應(yīng)的配置項的值。
@Data注解是Lombok提供的,可以自動生成getter和setter。
@Component @ConfigurationProperties(prefix = "test.config") @Data public class TestConf { // 相當于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獲取配置文件中的配置項的常用方式的文章就介紹到這了,更多相關(guān)SpringBoot獲取配置文件配置項內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java SSH 秘鑰連接mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了Java SSH 秘鑰連接mysql數(shù)據(jù)庫的方法,包括引入依賴的代碼和出現(xiàn)異常報錯問題,需要的朋友可以參考下2021-06-06CountDownLatch源碼解析之countDown()
這篇文章主要為大家詳細解析了CountDownLatch源碼之countDown方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04java實現(xiàn)簡單學(xué)生管理系統(tǒng)項目
這篇文章主要介紹了java實現(xiàn)簡單學(xué)生管理系統(tǒng)項目,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07Kafka利用Java實現(xiàn)數(shù)據(jù)的生產(chǎn)和消費實例教程
這篇文章主要給大家介紹了關(guān)于Kafka利用Java實現(xiàn)數(shù)據(jù)的生產(chǎn)和消費的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01SpringBoot添加Email發(fā)送功能及常見異常詳解
本篇文章主要介紹了SpringBoot添加Email發(fā)送功能及常見異常詳解,具有一定的參考價值,有興趣的可以了解一下。2017-04-04SpringBoot JS-SDK自定義微信分享的實現(xiàn)
這篇文章主要介紹了SpringBoot JS-SDK自定義微信分享的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09