SpringBoot讀取配置檔案的N種方法

2021-10-13 05:38:25 字數 2948 閱讀 5066

我們在專案開發中經常會用到配置資訊,例如資料庫連線的帳號、密碼等,而為了方便維護,我們通常將這些資訊放到配置檔案中。在需要用到這些配置資訊時,可以通過**獲取。下面我們看看spring中有哪些獲取配置資訊的方法。

propertiesloaderutils讀取

通過classpathresource載入配置檔案資源,結合propertiesloaderutils類讀取,原始碼如下:

try catch (ioexception e)

@value註解讀取指定屬性

配置資訊

jdbc:

account: zhangsan

pwd: 123456

讀取方法

@component

public class jdbcservice ")

private string account;

@value("$")

private string pwd;

public void connectdb()

}

@value 註解通過 $獲取配置檔案中和 key 對應的 value 值,並將value值賦給對應的變數,之後就像使用正常變數一樣就可以獲取到配置資訊。

@configurationproperties讀取一組配置資訊

@configurationproperties註解用於讀取指定字首的一組配置資訊並與bean繫結,具體的配置屬性會繫結到bean的成員屬性中,即字首名+成員屬性名等於配置檔案中的key。之後可以像使用其他bean一樣使用該bean並讀取配置資訊。

配置資訊

user:

name: zhangsan

***: 男

homeurl: www.***.com

繫結bean

@component

@data

@configurationproperties(prefix = "user")

public class user

使用bean

@service

public class userservice

}

@value適用與少量配置資訊的場景,在一些較複雜的場景下(業務繁瑣、配置項多),需要考慮把相關一組配置資訊封裝成乙個或多個配置資訊類,這時就可以使用@configurationproperties。

@propertysource讀取指定配置檔案

當我們專案比較大配置資訊比較多的時,如果所有的配置資訊都放在乙個配置檔案中,就會顯得比較臃腫且不易理解和維護。此時,我們可以按照需求將該配置檔案拆分為多個,並使用@propertysource註解配合@value或@configurationproperties讀取指定配置檔案中的配置資訊。假設我們儲存資料連線資訊的配置檔案為jdbc.properties,內容如下:

jdbc:

account: zhangsan

pwd: 123456

@component

@data

@propertysource(value = )

@configurationproperties(prefix = "jdbc")

public class jdbccfg

}

也可以和@value配合使用。

@component

@propertysource(value = )

public class jdbccfg ")

private string account;

@value("$")

private string pwd;

public void connectdb()

指定專案的配置檔案

spring:

profiles:

active:

- p

讀取複雜配置資訊

看下如下配置檔案

#http協議下訊息傳輸

#fix協議下訊息傳輸

msgtransfer.tranprocol.fix.orderid = order2

msgtransfer.tranprocol.fix.count = 200

上面的配置檔案是為了支援不同協議的訊息傳輸,該配置的key中也存在變數,這樣的配置資訊如何讀取呢?

@component

@data

@configurationproperties

(prefix =

"msgtransfer"

)public

class

msgtransfercfg

}

關鍵點在private maptranprocol;httpfix會自動對映為tranprocol的key,orderidcount會對映到msginfo的成員屬性上。

如果在配置檔案的key中使用變數的,需要在相應的bean中定義map,配置檔案和map的對應規則如下:

字首.map名稱.key.pro = value

Spring Boot讀取配置檔案與配置檔案優先順序

spring boot讀取配置檔案 package com.ivan.config.controller import org.springframework.beans.factory.annotation.autowired import org.springframework.core.env...

5分鐘學會springboot讀取配置檔案

本文是基於hadoop ha基礎搭建下storm集群的搭建過程 之前文章有搭建過程 搭建過程超級簡單如下 2 安裝zookeeper集群 準備三颱機器,分別為weekend01,weekend02,weekend03,並在這三颱機器上安裝zookeeper,我們現在weekend01上安裝,然後zo...

spring boot 配置檔案讀取

如圖所示,可以重新賦值予以覆蓋。mail setting 設定郵箱主機 email.host smtp.163.com email.port 25 設定使用者名稱 email.from xx xx.com 設定密碼 email.frompassword 設定是否需要認證,如果為true,那麼使用者名...