SpringBoot 如何編寫配置文件
我們經(jīng)常在項(xiàng)目開(kāi)放中需要進(jìn)行很多配置, 那么這些配置基本上都是動(dòng)態(tài)的, 如果我直接寫在代碼中, 修改起來(lái)很麻煩, 如果該配置在多處進(jìn)行引用啦, 你估計(jì)會(huì)殺了寫代碼的人。
那么我們?cè)谑褂肧pringBoot的時(shí)候, 也是需要進(jìn)行配置文件編寫的。在spirngBoot里面, 可以有兩種方式聲明配置
1、直接編寫配置文件 然后從配置文件里面獲取
2、編寫配置文件 然后編寫bean, 通過(guò)注解注入到bean里面 獲取的時(shí)候從bean里面獲取
配置文件編寫可以有多種, 例如我們常見(jiàn)的有: xml、properties、json、yaml.....
我們這里就使用常見(jiàn)的properties文件來(lái)寫
編寫配置文件,從配置文件里面獲取
創(chuàng)建配置文件
使用配置項(xiàng)
注解說(shuō)明
@PropertySource({"classpath:config/web.properties"}) //指定配置文件 @Value("${site.name}") // 獲取配置項(xiàng) value
效果
編寫配置文件, 從bean里面獲取
編寫bean
, WebSetting.java
package com.example.demo.domain; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @PropertySource(value = "classpath:config/web.properties", encoding = "utf-8") @ConfigurationProperties(prefix = "site") // 這個(gè)可以指定前綴 只要成員屬性能對(duì)上就行 也可以不指定 使用@Value來(lái)獲取 public class WebSetting { @Value("${site.name}") private String siteName; @Value("${site.desc}") private String siteDesc; @Value("${site.domain}") private String siteDomain; // 對(duì)上了可以不用@Value private String test; public String getTest() { return test; } public void setTest(String test) { this.test = test; } public String getSiteName() { return siteName; } public void setSiteName(String siteName) { this.siteName = siteName; } public String getSiteDesc() { return siteDesc; } public void setSiteDesc(String siteDesc) { this.siteDesc = siteDesc; } public String getSiteDomain() { return siteDomain; } public void setSiteDomain(String siteDomain) { this.siteDomain = siteDomain; } }
config/web.properties
site.name=憧憬 site.domain=aoppp.com site.desc=這是一個(gè)技術(shù)分享的博客! site.test=test
獲取配置 效果
需要注意點(diǎn)
1、配置文件注入失敗,出現(xiàn)Could not resolve placeholder
解決:根據(jù)springboot啟動(dòng)流程,會(huì)有自動(dòng)掃描包沒(méi)有掃描到相關(guān)注解,
默認(rèn)Spring框架實(shí)現(xiàn)會(huì)從聲明@ComponentScan所在的類的package進(jìn)行掃描,來(lái)自動(dòng)注入,因此啟動(dòng)類最好放在根路徑下面,或者指定掃描包范圍,spring-boot掃描啟動(dòng)類對(duì)應(yīng)的目錄和子目錄
2、注入bean的方式,屬性名稱和配置文件里面的key一一對(duì)應(yīng),就用加@Value 這個(gè)注解,如果不一樣,就要加@value("${XXX}")
以上就是SpringBoot 如何編寫配置文件的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot 編寫配置文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- SpringBoot在yml配置文件中配置druid的操作
- 詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法
- Springboot打包部署修改配置文件的方法
- SpringBoot讀取properties或者application.yml配置文件中的數(shù)據(jù)
- 詳解springboot啟動(dòng)時(shí)是如何加載配置文件application.yml文件
- 簡(jiǎn)單了解springboot加載配置文件順序
- SpringBoot獲取配置文件的簡(jiǎn)單實(shí)現(xiàn)方法
- 關(guān)于springboot 配置文件中屬性變量引用方式@@解析
- springboot如何讀取配置文件(application.yml)中的屬性值
- SpringBoot入坑筆記之spring-boot-starter-web 配置文件的使用
- Springboot讀取配置文件及自定義配置文件的方法
- springboot讀取配置文件中的參數(shù)具體步驟
相關(guān)文章
Java如何取掉json數(shù)據(jù)中值為null的屬性字段
這篇文章主要介紹了Java如何取掉json數(shù)據(jù)中值為null的屬性字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03在springboot中使用AOP進(jìn)行全局日志記錄
這篇文章主要介紹就在springboot中使用AOP進(jìn)行全局日志記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算
這篇文章主要為大家介紹了Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Springboot集成Kafka實(shí)現(xiàn)producer和consumer的示例代碼
這篇文章主要介紹了Springboot集成Kafka實(shí)現(xiàn)producer和consumer的示例代碼,詳細(xì)的介紹了什么是Kafka和安裝Kafka以及在springboot項(xiàng)目中集成kafka收發(fā)message,感興趣的小伙伴們可以參考一下2018-05-05實(shí)例詳解Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換
這篇文章主要介紹了Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2016-12-12Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解
windows自帶的游戲《掃雷》是陪伴了無(wú)數(shù)人的經(jīng)典游戲,本文將利用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-05-05