springboot多環境配置方案(不用5分鐘)
一 前言
本篇文章的主題是在springboot中寫多個配置檔案,指定讓個配置檔案生效,以便於達到在開發環境,測試環境,線上環境根據不同的配置靈活應用;讀完本篇你將獲得,學會springboot的多環境配置;學會使用idea配置虛擬機器引數啟動不同的配置檔案;學會使用jar包執行並且指定不同的配置檔案等;
二 啟用方式一
spring框架內部提供了2中方式用於載入YAML文件,以供啟動時讀取配置檔案;YamlPropertiesFactoryBean
會 載入 YAML 變為 Properties;YamlMapFactoryBean
會 轉換 YAML 為map;使用YAML更加簡便不用擔心內部具體如何轉換;
2.1pom.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/> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.2 application.yml
一切從簡,知識追尋者不會在配置檔案中寫其他內容,就指定埠即可,用於區別不同的環境;其中配置開發環境為dev,生產環境為pro;預設啟用dev 環境;
# 啟用配置 spring: profiles: active: dev --- # 配置一 開發環境 spring: profiles: dev server: port: 8060 --- # 配置二 生產環境 spring: profiles: pro server: port: 8061
2.3 controller
controller一個hell方法,用於瀏覽器測試;
@RestController public class ZSZXZ { @GetMapping("zszxz") public String hello(){ return "hello 知識追尋者"; } }
2.4 啟動類
啟動類新增@SpringBootApplication註解,表名是個springboot應用,會進行自動配置;
/** * @Author lsc * <p> 多環境配置 </p> */ @SpringBootApplication public class ProfileApp { public static void main(String[] args) { SpringApplication.run(ProfileApp.class,args); } }
2.5 dev執行結果
啟動工程,開啟瀏覽器路徑如下,埠是8086,說明預設啟用dev環境已經成功
http://localhost:8060/zszxz
2.6 pro執行結果
application.yml中修改啟用環境為pro後重啟工程,修改瀏覽器埠,執行結果如下說明配置成功;
# 啟用配置 spring: profiles: active: pro
http://localhost:8061/zszxz
執行結果
三 啟用方式二
3.1 application.yml
去除application.yml中啟用方式,知識追尋者改用idea配置VM引數選項方式進行啟用;
--- # 配置一 開發環境 spring: profiles: dev server: port: 8060 --- # 配置二 生產環境 spring: profiles: pro server: port: 8061
3.2 idea配置VM引數
在VM選項中輸入-Dspring.profiles.active=dev
,表示啟用dev環境;然後重啟工程訪問即可
四 專案部署方式
將工程打包成jar包,在cmd中如下命令執行,如果包名不同請替換,然後瀏覽器訪問即可;
java -jar springboot-profile-1.0-SNAPSHOT.jar --Dspring.profiles.active=dev
五 多配置檔案方式
上面的配置檔案都寫在一個application.yml中,過於累贅,為了方便查閱和解耦合,推薦多個配置檔案方式,然後在主配置檔案中啟用,具體的步驟如下;
5.1 application-zszxz.yml
新建yml檔名為application-zszxz.yml;內容如下
server: port: 8061
5.2 application-test.yml
新建yml檔名為application-test.yml;內容如下
server: port: 8060
5.3 application.yml
修改application.yml內容如下
spring: profiles: active: zszxz
5.4 啟動後結果
http://localhost:8061/zszxz 啟動後結果 與之前一致,不再貼圖浪費資源;
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。