SpringBoot 如何編寫配置文件
我們經(jīng)常在項目開放中需要進行很多配置, 那么這些配置基本上都是動態(tài)的, 如果我直接寫在代碼中, 修改起來很麻煩, 如果該配置在多處進行引用啦, 你估計會殺了寫代碼的人。
那么我們在使用SpringBoot的時候, 也是需要進行配置文件編寫的。在spirngBoot里面, 可以有兩種方式聲明配置
1、直接編寫配置文件 然后從配置文件里面獲取
2、編寫配置文件 然后編寫bean, 通過注解注入到bean里面 獲取的時候從bean里面獲取
配置文件編寫可以有多種, 例如我們常見的有: xml、properties、json、yaml.....
我們這里就使用常見的properties文件來寫
編寫配置文件,從配置文件里面獲取
創(chuàng)建配置文件

使用配置項

注解說明
@PropertySource({"classpath:config/web.properties"}) //指定配置文件
@Value("${site.name}") // 獲取配置項 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") // 這個可以指定前綴 只要成員屬性能對上就行 也可以不指定 使用@Value來獲取
public class WebSetting {
@Value("${site.name}")
private String siteName;
@Value("${site.desc}")
private String siteDesc;
@Value("${site.domain}")
private String siteDomain;
// 對上了可以不用@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=這是一個技術(shù)分享的博客! site.test=test
獲取配置 效果

需要注意點
1、配置文件注入失敗,出現(xiàn)Could not resolve placeholder
解決:根據(jù)springboot啟動流程,會有自動掃描包沒有掃描到相關(guān)注解,
默認Spring框架實現(xiàn)會從聲明@ComponentScan所在的類的package進行掃描,來自動注入,因此啟動類最好放在根路徑下面,或者指定掃描包范圍,spring-boot掃描啟動類對應(yīng)的目錄和子目錄
2、注入bean的方式,屬性名稱和配置文件里面的key一一對應(yīng),就用加@Value 這個注解,如果不一樣,就要加@value("${XXX}")
以上就是SpringBoot 如何編寫配置文件的詳細內(nèi)容,更多關(guān)于SpringBoot 編寫配置文件的資料請關(guān)注腳本之家其它相關(guān)文章!
- SpringBoot在yml配置文件中配置druid的操作
- 詳解SpringBoot配置文件啟動時動態(tài)配置參數(shù)方法
- Springboot打包部署修改配置文件的方法
- SpringBoot讀取properties或者application.yml配置文件中的數(shù)據(jù)
- 詳解springboot啟動時是如何加載配置文件application.yml文件
- 簡單了解springboot加載配置文件順序
- SpringBoot獲取配置文件的簡單實現(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的屬性字段,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java結(jié)合Kotlin實現(xiàn)寶寶年齡計算
這篇文章主要為大家介紹了Java結(jié)合Kotlin實現(xiàn)寶寶年齡計算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
Springboot集成Kafka實現(xiàn)producer和consumer的示例代碼
這篇文章主要介紹了Springboot集成Kafka實現(xiàn)producer和consumer的示例代碼,詳細的介紹了什么是Kafka和安裝Kafka以及在springboot項目中集成kafka收發(fā)message,感興趣的小伙伴們可以參考一下2018-05-05
實例詳解Java實現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換
這篇文章主要介紹了Java實現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2016-12-12

