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

Spring Boot 多個環境的配置方式

開發 前端
起因是一個同學讓我幫他看個問題,他說有兩個環境,一個環境有問題,另一個環境沒問題,但是一直找不到原因,假設一個環境是 dev,另一個環境是 test。

大家好,我是風箏

這是一篇寫給新手的文章,老手可以繞行了。

起因是一個同學讓我幫他看個問題,他說有兩個環境,一個環境有問題,另一個環境沒問題,但是一直找不到原因,假設一個環境是 dev,另一個環境是 test。

于是,我遠程了他的機器,想分別看下兩個環境的現象,結果發現沒有地方可以配置環境。我問他是怎么切換環境的,他說要連另外一個環境就把 application.yml 中的配置改了,之后切換回來的時候再改回來。

我當時直接就無語住了。后來想想他還沒畢業,不知道也正常,我剛學 Spring Boot 的時候連多個環境都不知道,也是后來正式加入工作團隊后才學來的。

我們平時做項目的時候,一般都會分幾套環境,開發環境、測試環境、預發布環境以及生產環境。每一套環境的配置都是不一樣的,比如數據庫連接串不一樣、redis不一樣,還有其他一些配置很可能都不一樣。

那這時候,我們切換環境的時候就不能像前面說的那樣手動改配置文件的內容了,那樣既傻又費事。

有兩種區分多個環境的方式可以使用。

多個配置文件

當配置Spring Boot應用程序的多個環境時,使用多配置文件的方式,通常會使用以下約定:application-{profile}.yml,其中{profile}是配置文件的名稱。在這些配置文件中,你可以根據不同的環境指定不同的屬性值。

例如 application-dev.yml 表示開發環境, application-test.yml 表示測試環境,application-prod.yml 表示生產環境,還有一個 application.yml表示通用的公共配置。

圖片圖片

通用配置文件 application.yml

和環境無關的配置都可以放在這里,例如啟動端口號、服務名稱以及其他共用屬性等。

還可以在通用配置中設置 spring.profiles.active來控制啟動配置,比如配置成 dev,那就是用 application-dev.yml的配置。

server:
  port: 9000

spring:
  application:
    name: fengzheng
  profiles:
    # 環境配置
    active: dev
    
common:
 key: 公共 key

各環境配置

除了通用配置外, 其他幾個配置文件就是配置與各自環境有關的配置了,比如開發環境和測試環境使用不用的數據庫服務器,不同的redis集群,這就要在各自的配置中區分開來。

dev 環境配置文件 application-dev.yml:

dev-property: dev-value
dev-another-property: dev-another-value

# Dev 環境的數據庫配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/devdb
    username: devuser
    password: devpassword

test 環境配置文件 application-test.yml:

test-property: test-value
test-another-property: test-another-value

# Test 環境的數據庫配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb
    username: testuser
    password: testpassword

prod 環境配置文件 application-prod.yml:

prod-property: prod-value
prod-another-property: prod-another-value

# Prod 環境的數據庫配置
spring:
  datasource:
    url: jdbc:mysql://production-db-url:3306/proddb
    username: produser
    password: prodpassword

指定環境啟動

之后在啟動項目的時候,就可以通過-Dspring.profiles.active來指定使用的配置文件,也就是指定的環境了。

java -jar myapp.jar -Dspring.profiles.active=dev

例如上面的命令,將激活 application-dev.yml 中的配置。

在 IDEA 中,通過 "Run/Debug Configurations",在 VM options 中加入相應的配置啟動,可以直接連接到對應的環境。

圖片圖片

或者找到 Active profiles ,直接在后面填寫對應的配置名稱也可以。

圖片圖片

在一個配置文件中配置多個環境

除了使用多個配置文件,用后綴區分外,還可以直接在一個配置文件中配置多個環境。

例如下面的配置,把公共配置寫在最前面,然后之后每一個環境的配置用 ---區分,spring.profiles來指定當前段落代表的配置。

spring:
  application:
    name: fengzheng
    
---    
spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://production-db-url:3306/dev-db
    username: produser
    password: prodpassword
server:
  port: 1990


---
spring:
  profiles: test
  datasource:
    url: jdbc:mysql://production-db-url:3306/test-db
    username: produser
    password: prodpassword
server:
  port: 1991

---
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://production-db-url:3306/prod-db
    username: produser
    password: prodpassword
server:
  port: 1992

之后啟動項目的時候,和前面多個配置文件的方式一樣。

通過-Dspring.profiles.active來指定使用的配置文件,也就是指定的環境了。

java -jar myapp.jar -Dspring.profiles.active=dev

例如上面的命令,將激活 application-dev.yml 中的配置。

在 IDEA 中,通過 "Run/Debug Configurations",在 VM options 中加入相應的配置啟動,可以直接連接到對應的環境。

圖片圖片

或者找到 Active profiles ,直接在后面填寫對應的配置名稱也可以。

圖片 圖片

責任編輯:武曉燕 來源: 古時的風箏
相關推薦

2024-01-23 08:47:13

BeanSpring加載方式

2020-11-05 10:40:07

Spring Boot多模塊Java

2022-11-21 08:11:18

2021-11-16 11:45:00

SpringSpring ClouJava

2017-03-23 09:29:06

2024-10-12 08:18:21

Spring接口組件

2024-10-18 08:00:00

SpringBoot框架開發

2025-03-28 05:10:00

Spring上傳大文件

2025-02-13 07:45:26

APISpringHTTP

2025-02-12 08:47:07

SpringAPI接口

2009-06-19 18:26:38

Spring事務配置

2011-02-28 13:51:30

Spring事物配置

2025-01-03 16:27:35

SpringBoot代碼打包

2011-11-25 10:25:27

SpringJava

2020-10-23 11:10:51

Spring BootShellJava

2022-02-16 19:42:25

Spring配置開發

2021-08-06 08:04:14

Spring Boot自動配置

2024-10-15 16:41:35

2024-10-18 16:21:49

SpringPOM

2020-12-31 07:55:33

spring bootMybatis數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品系列 | 欧美一区二区三区在线 | 午夜小影院 | 色姑娘综合网 | 欧美日一区二区 | 亚洲国产精品久久久 | 91毛片在线观看 | 午夜视频一区 | 欧美一区二区免费视频 | 中文字幕日韩一区 | 成人精品在线视频 | 一呦二呦三呦国产精品 | 亚洲区中文字幕 | 国产91丝袜 | 男人的天堂中文字幕 | av一区在线观看 | 中日字幕大片在线播放 | 成人在线不卡 | 国产xxxx搡xxxxx搡麻豆 | 国产在线视频三区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 91福利网| 久久久久久久香蕉 | 国产成人网 | 久久久爽爽爽美女图片 | 亚洲一区欧美一区 | 日日操操 | 天天拍天天操 | 成人精品在线观看 | 高清国产午夜精品久久久久久 | 成人免费在线观看视频 | 三区在线 | 亚洲综合久久久 | 国产高清久久久 | 成人性生交大片免费看中文带字幕 | 99国产精品久久久久久久 | 日韩精品久久一区二区三区 | 精品91久久 | 欧美韩一区二区 | 精品免费国产视频 | 色综合美女 |