spring boot 環境配置(profile)切換



Spring Boot 集成教程


概述

本文介紹spring boot項目中環境配置切換的過程。

在實際的項目開發中,經常需要不同的環境配置,如開發時不能直接連生產環境的數據庫,而上線時就需要連生產環境的數據庫。這就要求項目能夠切換環境配置。

spring boot項目中,application.properties是配置文件,實際上我們還可以引入不同環境的配置文件,如:application-dev.propertiesapplication-prod.properties,通過指定spring.profiles.active的值切換配置文件,比如在application.properties中指定:

spring.profiles.active=xxx

就可加載application-xxx.properties配置。

切換環境的常用方法

1.上面提到的application.properties設置spring.profile.active的值。

2.命令行中指定參數

通過指定jvm系統參數

java -jar -Dspring.profiles.active=prod springboot-profile-demo 0.0.1-SNAPSHOT.jar

通過指定應用參數

java -jar --spring.profiles.active=dev springboot-profile-demo 0.0.1-SNAPSHOT.jar

項目內容

創建一個簡單的spring boot項目,引入不同的環境配置,用不同方法切換環境,訪問接口打印當前環境。

要求

  • JDK1.8或更新版本
  • Eclipse開發環境

如沒有開發環境,可參考前面章節:[spring boot 開發環境搭建(Eclipse)]。

項目創建

創建spring boot項目

打開Eclipse,創建spring boot的spring starter project項目,選擇菜單:File > New > Project ...,彈出對話框,選擇:Spring Boot > Spring Starter Project,在配置依賴時,勾選web,完成項目創建。

項目配置

如下圖,除了application.properties,還添加了:

  • application-dev.properties - 開發環境配置
  • application-prod.properties - 生產環境配置
  • application-test.properties - 測試環境配置

image

application.properties文件內容

## 生產/開發等環境配置, 加載不同的配置文件
spring.profiles.active=dev

## 服務器端口,默認是8080
server.port=8096 

application-dev.properties文件內容

## profile 名稱
profile.name=dev

application-prod.properties文件內容

## profile 名稱
profile.name=prod

application-test.properties文件內容

## profile 名稱
profile.name=test

代碼實現

項目目錄結構如下圖,我們實現了一個接口,訪問此接口打印當前環境名稱。

image

HelloController類

通過@Value注解讀取profile.name,賦給profileName。訪問/hello接口打印當前環境名稱。

@RestController
public class HelloController {
	
	@SuppressWarnings("unused")
	private static final org.slf4j.Logger log = LoggerFactory.getLogger(HelloController.class);
	
	// 當前環境配置名稱
    @Value("${profile.name}") //讀取當前環境配置名稱
    private String profileName;
	
	@RequestMapping(value="/hello", method = RequestMethod.GET, produces="application/json")
    public String hello() {
	   
		return "當前環境:" + profileName;
    }
}

運行

修改application.properties文件中的spring.profiles.active,加載對應的配置文件,然后訪問接口/hello

## 生產/開發等環境配置, 加載不同的配置文件
spring.profiles.active=test

Eclipse左側,在項目根目錄上點擊鼠標右鍵彈出菜單,選擇:run as -> spring boot app 運行程序。 打開Postman訪問接口,運行結果如下:

image

總結

完整代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM