成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

說一個大家都知道的 Spring Boot 小技巧

數據庫 其他數據庫
在 Spring Boot 中,我們不想將配置文件放在 application.properties 或者 application.yaml 中,想搞一個單獨的配置文件來處理,這時候就分情況了。

小伙伴們都知道,在 Spring Boot 中,配置文件是 application.properties 或者 application.yaml,這個名為 application 的配置文件,無論是 properties 格式還是 yaml 格式,都會被 Spring Boot 容器自動加載。

然而很多時候我們會有一些額外的配置,這些額外的配置可能并非系統配置,所以我們不想將之放在 application.properties 或者 application.yaml 中,想搞一個單獨的配置文件來處理,這時候就分情況了。

1. properties

對于 properties 格式的配置文件,我們可以隨心所欲的自定義配置文件,例如在 resources 目錄下新建一個 data.properties 的配置文件用來配置數據庫的信息,像下面這樣:

db.username=root
db.password=123
db.url=jdbc:mysql:///vhr

然后在 Java 代碼中,利用 @PropertySource 和 @ConfigurationProperties 兩個注解來加載配置文件:

@PropertySource("classpath:data.properties")
@ConfigurationProperties(prefix = "db")
public class DbProperties {
private String username;
private String password;
private String url;
//省略 getter/setter
}

@PropertySource 就是用來加載一個自定義的 properties 配置文件,這是 Spring 中就有的功能,而不是 Spring Boot 的功能。

所以,如果你使用了 properties 格式的配置文件,那么就可以非常方便的實現自定義配置文件了,甚至可以將不同的配置文件分門別類,管理的井井有條。

問題實際上是出在 yaml 這一塊。

2. YAML

小伙伴們知道,對于 YAML 格式的配置而言,它其實是沒有一個類似于 @PropertySource 注解的東西的,也就是說 YAML 配置,你只能寫在 application.yaml 中,不能寫在其他地方。要是寫在其他地方,就沒法加載了,其實也不是沒法加載,可以自己調用 snakeyaml 包中的類去加載,但是那樣太費事了,所以我們期望能夠有一個簡便的辦法來做這件事。

怎么做呢?

我們可以利用 Spring Boot 中對于 profile 多環境的處理方式來加載自定義的 YAML 配置。

大家知道,Spring Boot 中對于多環境的處理方式非常方便,以 yaml 配置為例,我們只需要定義一個名為 application-{profile}.yaml 的配置文件,然后在 application.yaml 中就可以指定這個環境了,利用這個漏洞,就可以非常方便的加載自定義的 yaml 配置了,不過這種方式對自定義的 yaml 配置文件名格式有要求,就是必須是 application-{profile}.yaml 格式的。

我舉一個簡單例子吧,例如對于數據庫的配置,我想單獨搞一個配置文件,那么我們可以新建一個 application-data.yaml 的配置文件,內容如下:

spring:
datasource:
password: 123
username: root
url: jdbc:mysql:///vhr

然后在 application.yaml 中就像設置環境一樣引入這個配置文件,如下:

spring:
profiles:
active: data

這樣就實現了對自定義 yaml 配置文件的加載。

如果有多個自定義的 yaml 配置,那么也可以一起加載,多個環境之間用 , 隔開即可。

just this。

小伙伴們都知道吧嘿嘿。

責任編輯:趙寧寧 來源: 江南一點雨
相關推薦

2023-04-28 12:01:56

Spring項目編譯

2023-09-24 13:55:42

Spring應用程序

2019-02-22 09:33:32

2009-06-11 10:59:19

netbeans提示

2022-05-31 09:09:10

vuex技巧前端

2018-12-19 09:15:36

SDN軟件定義網絡廣域網

2025-01-07 08:21:03

2024-05-08 07:40:20

ChatGPT訓練數據預測

2024-05-16 12:03:54

Python代碼開發

2020-11-13 07:08:51

Spring Boot應用Spring

2014-03-26 10:59:14

Apache Spar

2024-12-09 08:25:47

Springsave方法

2020-05-14 18:25:40

微信移動應用群聊

2021-12-22 09:25:14

小程序函數Python

2022-05-24 14:07:53

OpenFeignSpring開源

2020-11-16 11:24:00

Spring AOP數據庫

2020-09-15 11:40:37

Spring Boot代碼Java

2018-11-14 10:00:07

程序員開發技巧Git

2024-02-26 18:11:08

Docker容器鏡像

2021-05-07 07:59:52

WebFluxSpring5系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久av超清 | 在线欧美小视频 | 一级做a爰片久久毛片 | 人人干人人玩 | 国产色网站 | 色毛片| 性天堂网| 国内精品99 | 久久成人18免费网站 | 国产一级久久久久 | 国产大学生情侣呻吟视频 | 久久久这里都是精品 | 国产精品久久久一区二区三区 | 久久精品99国产精品 | 在线国产一区 | 久久久免费观看视频 | 天天综合网7799精品 | 国产一区二区观看 | 一区视频| 有码一区 | 国产精品毛片av一区 | 麻豆精品久久久 | 欧美精品啪啪 | 欧美精品一区二区三区在线播放 | 欧美精品三区 | 欧美中国少妇xxx性高请视频 | 久热国产精品视频 | 久久国产精品一区二区三区 | 亚洲国产精品一区二区第一页 | 四虎影院在线播放 | 久久九精品| 中文字幕成人在线 | av毛片 | 亚洲福利电影网 | 国产欧美一区二区精品久导航 | 中文字幕四虎 | 欧美成人在线免费 | 国产一区二区欧美 | 国产日韩欧美在线观看 | 久久国产精品99久久久久久丝袜 | 日日射夜夜骑 |