Springboot讀取自定義配置檔案的幾種方法

2021-09-07 19:04:12 字數 2442 閱讀 4892

server.port=9090

test.msg=hello world springboot!

1、使用@value方式(常用):

@restcontroller

public

class

webcontroller ")

private

string msg;

index

", method =requestmethod.get)

public

string index()

}

注意:在@value的${}中包含的是核心配置檔案中的鍵名。在controller類上加@restcontroller表示將此類中的所有檢視都以json方式顯示,類似於在檢視方法上加@responsebody

訪問:http://localhost:9090/index 時將得到the way 1 : hello world springboot!

2、使用environment方式

@restcontroller

public

class

webcontroller

}

注意:這種方式是依賴注入evnironment來完成,在建立的成員變數private environment env上加上@autowired註解即可完成依賴注入,然後使用env.getproperty("鍵名")即可讀取出對應的值

為了不破壞核心檔案的原生態,但又需要有自定義的配置資訊存在,一般情況下會選擇自定義配置檔案來放這些自定義資訊,這裡在resources/config目錄下建立配置檔案my-web.properties

resources/config/my-web.properties內容如下:

web.name=zslin

web.version=v 1.0

[email protected]

1、建立管理配置的實體類:

需要用到2個註解:@configurationproperties

@component,把該類變成spring的乙個元件

@configurationproperties(locations = "

classpath:config/my-web.properties

",prefix = "web")@component

public

class

mywebconfig

public

string getname()

public

string getversion()

public

void

setauthor(string author)

public

void

setname(string name)

public

void

setversion(string version)

}

注意:(1)在@configurationproperties注釋中有兩個屬性:

locations:指定配置檔案的所在位置

prefix:指定配置檔案中鍵名稱的字首(我這裡配置檔案中所有鍵名都是以web.開頭)

(2)使用@component是讓該類能夠在其他地方被依賴使用,即使用@autowired注釋來建立例項。

2、建立測試controller

@restcontroller

config")

public

class

configcontroller

}

注意:由於在mywebconfig類上加了注釋@component,所以可以直接在這裡使用@autowired來建立其實例物件。

訪問:http://localhost:9090/config/index 時將得到webname: zslin, webversion: v 1.0, webauthor: [email protected]

關於springboot讀取自定義的配置

我是自定義乙個關於發郵件的自定義檔案,然後讀取它,在網上找了很多關於讀取檔案的,結果一直發現值為null,用 value讀取也為null,因為我不是在controller層讀取配置,而是在util工具包讀取,就十分麻煩,記錄下來自己走過的坑 第一步不用說,建立配置檔案 第二步,建立配置檔案的類 co...

springboot讀取自定義配置檔案節點

今天和大家分享的是自定義配置資訊的讀取 近期有寫部落格這樣的計畫,分別交叉來寫springboot方面和springcloud方面的文章,因為springboot預計的篇章很多,這樣cloud的文章就需要等到很後面才能寫了 分享這兩種文章的原因主要是為了方便自己查詢資料使用和對將要使用的朋友起到便捷...

Springboot讀取自定義配置檔案節點

為了方便自己查詢資料使用和對將要使用的朋友起到便捷作用 實體對映自定義配置檔案的節點 實體對映多層級節點的值 1 shenniu 2 name 神牛003 然後通過 value標記來直接獲取屬性值,為了更好的展示資料到介面上定義了乙個 conf name介面 1 value 2 private st...