SpringBoot 如何編寫配置文件
我們經(jīng)常在項(xiàng)目開放中需要進(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使用NioSocket手動(dòng)實(shí)現(xiàn)HTTP服務(wù)器
本篇文章主要介紹了Java使用NioSocket手動(dòng)實(shí)現(xiàn)HTTP服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-05-05
springboot2.1.7去除json返回字段中為null的字段
這篇文章主要介紹了springboot2.1.7去除json返回字段中為null的字段,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
如何利用grep-console插件使Intellij idea顯示多顏色調(diào)試日志
這篇文章主要介紹了利用grep-console插件使Intellij idea顯示多顏色調(diào)試日志,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
shrio中hashedCredentialsMatcher密碼匹配示例詳解
shrio是一個(gè)輕量級(jí)權(quán)限管理框架,密碼的匹配由框架內(nèi)部完成。密碼是否匹配由接口CredentialsMatcher定義實(shí)現(xiàn)類完成,CredentialsMatcher實(shí)現(xiàn)類有SimpleCredentialsMatcher和HashedCredentialsMatcher兩個(gè)2021-10-10
maven坐標(biāo)Dependencies和Exclusions的使用
這篇文章主要介紹了maven坐標(biāo)Dependencies和Exclusions的使用,很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
基于SpringBoot + Android實(shí)現(xiàn)登錄功能
在移動(dòng)互聯(lián)網(wǎng)的今天,許多應(yīng)用需要通過(guò)移動(dòng)端實(shí)現(xiàn)與服務(wù)器的交互功能,其中登錄是最常見(jiàn)且基礎(chǔ)的一種功能,本篇博客將詳細(xì)介紹如何使用 Spring Boot 和 Android 實(shí)現(xiàn)一個(gè)完整的登錄功能,需要的朋友可以參考下2024-11-11
Spring中實(shí)現(xiàn)定時(shí)調(diào)度的幾種方法
本篇文章主要介紹了Spring中實(shí)現(xiàn)定時(shí)調(diào)度示例,可以在無(wú)人值守的時(shí)候系統(tǒng)可以在某一時(shí)刻執(zhí)行某些特定的功能,有興趣的可以了解一下。2017-02-02
ThreadLocal內(nèi)存泄漏常見(jiàn)要點(diǎn)解析
這篇文章主要介紹了ThreadLocal內(nèi)存泄漏常見(jiàn)要點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

