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)注解,
默認(rèn)Spring框架實現(xiàn)會從聲明@ComponentScan所在的類的package進行掃描,來自動注入,因此啟動類最好放在根路徑下面,或者指定掃描包范圍,spring-boot掃描啟動類對應(yīng)的目錄和子目錄
2、注入bean的方式,屬性名稱和配置文件里面的key一一對應(yīng),就用加@Value 這個注解,如果不一樣,就要加@value("${XXX}")
以上就是SpringBoot 如何編寫配置文件的詳細(xì)內(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使用NioSocket手動實現(xiàn)HTTP服務(wù)器
本篇文章主要介紹了Java使用NioSocket手動實現(xiàn)HTTP服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-05-05
springboot2.1.7去除json返回字段中為null的字段
這篇文章主要介紹了springboot2.1.7去除json返回字段中為null的字段,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
如何利用grep-console插件使Intellij idea顯示多顏色調(diào)試日志
這篇文章主要介紹了利用grep-console插件使Intellij idea顯示多顏色調(diào)試日志,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
shrio中hashedCredentialsMatcher密碼匹配示例詳解
shrio是一個輕量級權(quán)限管理框架,密碼的匹配由框架內(nèi)部完成。密碼是否匹配由接口CredentialsMatcher定義實現(xiàn)類完成,CredentialsMatcher實現(xiàn)類有SimpleCredentialsMatcher和HashedCredentialsMatcher兩個2021-10-10
maven坐標(biāo)Dependencies和Exclusions的使用
這篇文章主要介紹了maven坐標(biāo)Dependencies和Exclusions的使用,很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
基于SpringBoot + Android實現(xiàn)登錄功能
在移動互聯(lián)網(wǎng)的今天,許多應(yīng)用需要通過移動端實現(xiàn)與服務(wù)器的交互功能,其中登錄是最常見且基礎(chǔ)的一種功能,本篇博客將詳細(xì)介紹如何使用 Spring Boot 和 Android 實現(xiàn)一個完整的登錄功能,需要的朋友可以參考下2024-11-11
Spring中實現(xiàn)定時調(diào)度的幾種方法
本篇文章主要介紹了Spring中實現(xiàn)定時調(diào)度示例,可以在無人值守的時候系統(tǒng)可以在某一時刻執(zhí)行某些特定的功能,有興趣的可以了解一下。2017-02-02

