自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

1. properties

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

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 格式的配置文件,那么就可以非常方便的實現(xiàn)自定義配置文件了,甚至可以將不同的配置文件分門別類,管理的井井有條。

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

2. YAML

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

怎么做呢?

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

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

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

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

然后在 application.yaml 中就像設(shè)置環(huán)境一樣引入這個配置文件,如下:

spring:
profiles:
active: data

這樣就實現(xiàn)了對自定義 yaml 配置文件的加載。

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

just this。

小伙伴們都知道吧嘿嘿。

責任編輯:趙寧寧 來源: 江南一點雨
相關(guān)推薦

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提示

2025-01-07 08:21:03

2022-05-31 09:09:10

vuex技巧前端

2018-12-19 09:15:36

SDN軟件定義網(wǎng)絡廣域網(wǎng)

2024-05-08 07:40:20

ChatGPT訓練數(shù)據(jù)預測

2020-11-13 07:08:51

Spring Boot應用Spring

2024-05-16 12:03:54

Python代碼開發(fā)

2014-03-26 10:59:14

Apache Spar

2024-12-09 08:25:47

Springsave方法

2020-05-14 18:25:40

微信移動應用群聊

2020-09-15 11:40:37

Spring Boot代碼Java

2020-11-16 11:24:00

Spring AOP數(shù)據(jù)庫

2022-05-24 14:07:53

OpenFeignSpring開源

2021-12-22 09:25:14

小程序函數(shù)Python

2024-02-26 18:11:08

Docker容器鏡像

2018-11-14 10:00:07

程序員開發(fā)技巧Git

2025-01-26 10:49:52

點贊
收藏

51CTO技術(shù)棧公眾號