日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Springboot使用Maven Profile和Spring Profile进行多环境配置

發(fā)布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Springboot使用Maven Profile和Spring Profile进行多环境配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Springboot使用Maven Profile和Spring Profile進行多環(huán)境配置

目的

在實際的項目上,一般會分三種環(huán)境dev、test、prod來方便我們的開發(fā)和部署,要求我們在開發(fā)的時候可以方便地進行環(huán)境的切換,又要滿足在發(fā)布版本的時候可以盡可能減少測試人員的配置。

Spring Profile

多環(huán)境

為了實現(xiàn)多環(huán)境配置,我們可以在本地開發(fā)的時候在Resource文件夾下新建不同環(huán)境的配置文件,如下圖所示:

image

這時候我們只需要在主配置文件application.yml文件使用spring.profiles.active = dev/test/prod來進行不同環(huán)境的切換

spring:profiles:active: dev #加載dev配置文件

經(jīng)過上述步驟,我們即可在本地開發(fā)時根據(jù)不同的環(huán)境進行測試。

主配置文件與不同環(huán)境的配置文件

Spring Profile有一個特性即可以在application.yml配置通用的內(nèi)容,在application-dev.yml文件中配置不同文件的差異化配置,這樣可以精簡我們的配置文件。配置如下:

# 主配置文件主要用來存放公共設置,不受環(huán)境配置影響
server:port: 8082 # 指定端口號context-path: /server # 指定訪問資源的根路徑
spring:profiles:active: dev 

dev配置文件

# 主要用來存放不同環(huán)境差異化配置,包括ftp地址、數(shù)據(jù)庫連接等
spring:datasource:username: xxxpassword: xxxurl: xxxdriver-class-name: oracle.jdbc.driver.OracleDriver

上述解決方案雖然可以解決我們的環(huán)境問題,但是不夠優(yōu)雅,還有一些值得優(yōu)化的地方,比如打包出的配置文件有四個、每次需要手動修改主配置文件的環(huán)境信息等。

Maven Profile

Profile配置

Maven 也提供了 Profile 支持,它允許我們在?pom.xml?中定義多個 Profile ,每個 profile 可以指定自己的一些配置、依賴、觸發(fā)條件等。例如:

<profiles><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><properties><profile.active>dev</profile.active></properties></profile><profile><id>prod</id><properties><profile.active>prod</profile.active></properties></profile>
</profiles>

按照上述的配置,我們配置了dev/test/prod三種配置并默認選擇dev環(huán)境。

資源過濾

在進行打包的時候,我們并不需要把dev或者test等配置文件打包進行,所有我們在打包的時候進行如下配置

<build><resources><resource><directory>src/main/resources</directory><!--先排除所有的配置文件--><excludes><exclude>application*.yml</exclude></excludes></resource><resource><directory>src/main/resources</directory><!--引入所需環(huán)境的配置文件--><filtering>true</filtering><includes><include>application.yml</include><include>application-${profile.active}.yml</include></includes></resource></resources><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

主要是分為兩個步驟:

  1. 先排除所有的配置文件
  2. 引入我們所需要的配置文件,根據(jù)${profile.active}來動態(tài)指定

熟悉idea的同學都知道,這里的${profile.active}我們在idea的maven的配置處進行快速的切換。

image

從上面的配置文件可以看出,我們引入了兩個配置文件,一個是主配置文件(application.yml),一個是實際環(huán)境(application-dev.yml)的配置文件,但是到這里還沒有結(jié)束。我們知道主配置文件的dev/test/prod在沒有使用Maven Profile的時候,我們是需要手動修改的,但是使用Maven Profile之后,我們可以把這個工作交給maven去做。

在application.yml進行下面的修改:

spring:profiles:active: @profile.active@ #此處由maven的環(huán)境選擇決定

這樣我們就可以完全把配置文件的指定和生成交給maven。

Spring Profile與Maven Profile具體使用

配置如下:

# 主配置文件主要用來存放公共設置,不受環(huán)境配置影響
server:port: 8082 # 指定端口號context-path: /server # 指定訪問資源的根路徑
spring:profiles:active: @profile.active@ #此處由maven的環(huán)境選擇決定

?

總結(jié)

以上是生活随笔為你收集整理的Springboot使用Maven Profile和Spring Profile进行多环境配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。