中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot中的yaml怎么配置

發布時間:2021-12-07 14:49:36 來源:億速云 閱讀:175 作者:iii 欄目:大數據

這篇文章主要講解了“Spring Boot中的yaml怎么配置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Boot中的yaml怎么配置”吧!

首先 application.yaml 在 Spring Boot 中可以寫在四個不同的位置,分別是如下位置:

  1. 項目根目錄下的 config 目錄中

  2. 項目根目錄下

  3. classpath 下的 config 目錄中

  4. classpath 目錄下

四個位置中的 application.yaml 文件的優先級按照上面列出的順序依次降低。即如果有同一個屬性在四個文件中都出現了,以優先級高的為準。

那么 application.yaml 是不是必須叫 application.yaml 這個名字呢?當然不是必須的。開發者可以自己定義 yaml 名字,自己定義的話,需要在項目啟動時指定配置文件的名字,像下面這樣:

Spring Boot中的yaml怎么配置  

當然這是在 IntelliJ IDEA 中直接配置的,如果項目已經打成 jar 包了,則在項目啟動時加入如下參數:

java -jar myproject.jar --spring.config.name=app
 

這樣配置之后,在項目啟動時,就會按照上面所說的四個位置按順序去查找一個名為 app.yaml 的文件。當然這四個位置也不是一成不變的,也可以自己定義,有兩種方式,一個是使用 spring.config.location 屬性,另一個則是使用 spring.config.additional-location 這個屬性,在第一個屬性中,表示自己重新定義配置文件的位置,項目啟動時就按照定義的位置去查找配置文件,這種定義方式會覆蓋掉默認的四個位置,也可以使用第二種方式,第二種方式則表示在四個位置的基礎上,再添加幾個位置,新添加的位置的優先級大于原本的位置。

配置方式如下:

Spring Boot中的yaml怎么配置  

這里要注意,配置文件位置時,值一定要以 / 結尾。

 

數組注入

yaml 也支持數組注入,例如

my:
 servers:
- dev.example.com
- another.example.com
 

這段數據可以綁定到一個帶 Bean 的數組中:

@ConfigurationProperties(prefix="my")
@Component
public class Config {

private List<String> servers = new ArrayList<String>();

public List<String> getServers() {
return this.servers;
}
}
 

項目啟動后,配置中的數組會自動存儲到 servers 集合中。當然,yaml 不僅可以存儲這種簡單數據,也可以在集合中存儲對象。例如下面這種:

redis:
 redisConfigs:
   - host: 192.168.66.128
     port: 6379
   - host: 192.168.66.129
     port: 6380
 

這個可以被注入到如下類中:

@Component
@ConfigurationProperties(prefix = "redis")
public class RedisCluster {
   private List<SingleRedisConfig> redisConfigs;
//省略getter/setter
}
     

優缺點

不同于 properties 文件的無序,yaml 配置是有序的,這一點在有些配置中是非常有用的,例如在 Spring Cloud Zuul 的配置中,當我們配置代理規則時,順序就顯得尤為重要了。當然 yaml 配置也不是萬能的,例如,yaml 配置目前不支持 @PropertySource 注解。

感謝各位的閱讀,以上就是“Spring Boot中的yaml怎么配置”的內容了,經過本文的學習后,相信大家對Spring Boot中的yaml怎么配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘洛县| 马尔康县| 蒲城县| 乌兰察布市| 新兴县| 深水埗区| 金川县| 洛宁县| 肥城市| 北宁市| 山丹县| 汉川市| 临潭县| 乳山市| 信宜市| 广宗县| 吴川市| 南投县| 罗山县| 衡南县| 贡觉县| 平陆县| 睢宁县| 阳东县| 固始县| 济宁市| 东丽区| 霍州市| 溧阳市| 清徐县| 张掖市| 丰原市| 叙永县| 伊川县| 融水| 三台县| 广德县| 台北市| 武陟县| 延安市| 鄂尔多斯市|