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

使用配置項(xiàng)

注解說明
@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è)可以指定前綴 只要成員屬性能對上就行 也可以不指定 使用@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=這是一個(gè)技術(shù)分享的博客! site.test=test
獲取配置 效果

需要注意點(diǎn)
1、配置文件注入失敗,出現(xiàn)Could not resolve placeholder
解決:根據(jù)springboot啟動(dòng)流程,會(huì)有自動(dòng)掃描包沒有掃描到相關(guān)注解,
默認(rèn)Spring框架實(shí)現(xiàn)會(huì)從聲明@ComponentScan所在的類的package進(jìn)行掃描,來自動(dòng)注入,因此啟動(dòng)類最好放在根路徑下面,或者指定掃描包范圍,spring-boot掃描啟動(dòng)類對應(yīng)的目錄和子目錄
2、注入bean的方式,屬性名稱和配置文件里面的key一一對應(yīng),就用加@Value 這個(gè)注解,如果不一樣,就要加@value("${XXX}")
以上就是SpringBoot 如何編寫配置文件的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot 編寫配置文件的資料請關(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文件
- 簡單了解springboot加載配置文件順序
- SpringBoot獲取配置文件的簡單實(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à)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
在springboot中使用AOP進(jìn)行全局日志記錄
這篇文章主要介紹就在springboot中使用AOP進(jìn)行全局日志記錄,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算
這篇文章主要為大家介紹了Java結(jié)合Kotlin實(shí)現(xiàn)寶寶年齡計(jì)算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Springboot集成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-12
Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01
Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解
windows自帶的游戲《掃雷》是陪伴了無數(shù)人的經(jīng)典游戲,本文將利用Java語言實(shí)現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-05-05

