Spring Boot Profile
我們在做項目開發的時候,生產環境和測試環境的一些配置可能會不一樣,有時候一些功能也可能會不一樣,所以我們可能會在上線的時候手工修改這些配置信息。但是 Spring 中為我們提供了 Profile 這個功能。我們只需要在啟動的時候添加一個虛擬機參數,激活自己環境所要用的 Profile 就可以了。
操作起來很簡單,只需要為不同的環境編寫專門的配置文件,如:application-dev.yml
、application-prod.yml
, 啟動項目時只需要增加一個命令參數 --spring.profiles.active=環境配置
即可,啟動命令如下:
java -jar hello-spring-cloud-alibaba-nacos-provider-1.0.0-SNAPSHOT.jar --spring.profiles.active=prod
1
#Nacos Config Profile
spring-cloud-starter-alibaba-nacos-config 在加載配置的時候,不僅僅加載了以 dataid 為 ${spring.application.name}.${file-extension:properties}
為前綴的基礎配置,還加載了 dataid 為 ${spring.application.name}-${profile}.${file-extension:properties}
的基礎配置。在日常開發中如果遇到多套環境下的不同配置,可以通過 Spring 提供的 ${spring.profiles.active}
這個配置項來配置。
此處我們以之前創建的 服務提供者 項目為例
#在 Nacos Server 中增加配置
增加一個名為 nacos-provider-config-prod.yaml
的配置
注意:此時,我將配置文件中的端口由 8081 -> 8082
#在項目中增加配置
增加一個名為 bootstrap-prod.properties
的配置文件,內容如下:
spring.profiles.active=prod
spring.application.name=nacos-provider-config
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
主要增加了 spring.profiles.active=prod
配置,用於指定訪問 Nacos Server 中的 nacos-provider-config-prod.yaml
配置
#啟動應用程序
此時我們有兩個配置文件,分別為 bootstrap.properties
和 bootstrap-prod.properties
,我們需要指定啟動時加載哪一個配置文件,操作流程如下:
Run
->Edit Configurations..
- 設置需要激活的配置
- 觀察日志,判斷是否成功加載配置