天天看點

Spring Boot讀取配置檔案的幾種方式

Spring Boot擷取檔案總的來說有三種方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。這三種注解可以配合着@PropertySource來使用,@PropertySource主要是用來指定具體的配置檔案。

value():指定配置檔案

encoding():指定編碼,因為properties檔案的編碼預設是ios8859-1,讀取出來是亂碼

factory():自定義解析檔案類型,因為該注解預設隻會加載properties檔案,如果想要指定yml等其他格式的檔案需要自定義實作。

建立兩個配置檔案config.properties和configs.properties,分别寫入如下内容:

新增一個類用來讀取配置檔案

如果想要讀取yml檔案,則我們需要重寫DefaultPropertySourceFactory,讓其加載yml檔案,然後在注解

@PropertySource上自定factory。代碼如下:

配置檔案我們繼續用上面的兩個,定義一個類去讀取配置檔案

@ConfigurationProperties可以将配置檔案直接映射成一個實體類,然後我們可以直接操作實體類來擷取配置檔案相關資料。

建立一個yml檔案,當然properties檔案也沒問題

建立實體類用來映射該配置

prefix = "zhbin.config"用來指定配置檔案字首

如果需要擷取list集合,則做以下修改即可。

properties檔案預設使用的是iso8859-1,并且不可修改

yml檔案的加載順序高于properties,但是讀取配置資訊的時候會讀取後加載的

@PropertySource注解預設隻會加載properties檔案

@PropertySource注解可以與任何一種方式聯合使用

簡單值推薦使用@Value,複雜對象推薦使用@ConfigurationProperties

繼續閱讀