程序員:學會springboot多環境配置方案不用5分鐘

一 前言

本篇文章的主題是在springboot中寫多個配置文件,指定讓個配置文件生效,以便於達到在開發環境,測試環境,線上環境根據不同的配置靈活應用;讀完本篇你將獲得,學會springboot的多環境配置;學會使用idea配置虛擬機參數啟動不同的配置文件;學會使用jar包運行並且指定不同的配置文件等;

二 激活方式一

spring框架內部提供了2中方式用於加載YAML文檔,以供啟動時讀取配置文件;YamlPropertiesFactoryBean 會 加載 YAML 變為 Properties;YamlMapFactoryBean 會 轉換 YAML 為map;使用YAML更加簡便不用擔心內部具體如何轉換;

pom.xml

引入依賴boor-start依賴和打包插件;jdk1.8版本,boot2.1.1;

<parent>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-starter-parent/<artifactid>

<version>2.1.1.RELEASE/<version>

<relativepath>

<dependencies>

<dependency>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-starter-web/<artifactid>

<build>

<plugins>

<plugin>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-maven-plugin/<artifactid>


application.yml

一切從簡,知識追尋者不會在配置文件中寫其他內容,就指定端口即可,用於區別不同的環境;其中配置開發環境為dev,生產環境為pro;默認激活dev 環境;

# 激活配置

spring:

profiles:

active: dev

---

# 配置一 開發環境

spring:

profiles: dev

server:

port: 8060

---

# 配置二 生產環境

spring:

profiles: pro

server:

port: 8061


controller

controller一個hell方法,用於瀏覽器測試;

@RestController

public class ZSZXZ {

@GetMapping("zszxz")

public String hello(){

return "hello 知識追尋者";

}

}


啟動類

啟動類添加@SpringBootApplication註解,表名是個springboot應用,會進行自動配置;

/**

* @Author lsc

*

多環境配置

*/

@SpringBootApplication

public class ProfileApp {

public static void main(String[] args) {

SpringApplication.run(ProfileApp.class,args);

}

}


dev執行結果

啟動工程,打開瀏覽器路徑如下,端口是8086,說明默認激活dev環境已經成功

程序員:學會springboot多環境配置方案不用5分鐘

pro執行結果

application.yml中修改激活環境為pro後重啟工程,修改瀏覽器端口,執行結果如下說明配置成功;

# 激活配置

spring:

profiles:

active: pro

執行結果

程序員:學會springboot多環境配置方案不用5分鐘

激活方式二

application.yml

去除application.yml中激活方式,知識追尋者改用idea配置VM參數選項方式進行激活;

---

# 配置一 開發環境

spring:

profiles: dev

server:

port: 8060

---

# 配置二 生產環境

spring:

profiles: pro

server:

port: 8061


idea配置VM參數

在VM選項中輸入-Dspring.profiles.active=dev,表示激活dev環境;然後重啟工程訪問即可

程序員:學會springboot多環境配置方案不用5分鐘

四 項目部署方式

將工程打包成jar包,在cmd中如下命令執行,如果包名不同請替換,然後瀏覽器訪問即可;

java -jar springboot-profile-1.0-SNAPSHOT.jar --Dspring.profiles.active=dev

程序員:學會springboot多環境配置方案不用5分鐘

五 多配置文件方式

上面的配置文件都寫在一個application.yml中,過於累贅,為了方便查閱和解耦合,推薦多個配置文件方式,然後在主配置文件中激活,具體的步驟如下;

application-zszxz.yml

新建yml文件名為application-zszxz.yml;內容如下

server:

port: 8061


application-test.yml

新建yml文件名為application-test.yml;內容如下

server:

port: 8060


application.yml

修改application.yml內容如下

spring:

profiles:

active: zszxz


啟動後結果

啟動後結果 與之前一致,不再貼圖浪費資源;


分享到:


相關文章: