嗯,開發和測試環境要分離,這是一般共識(雖然我工作過的公司都沒有這種分離),spring boot也可以按照配置文件的讀取來做到這一點。
上圖有三個application開頭的配置文件,要達到能夠讀取外部配置文件的目的,我們需要引入一個依賴包,就是紅色箭頭所指的那個,把這段加入pom.xml的<dependencies></dependencies>節點里面
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
三個application文件有什么不同呢?其實沒什么不同,就是名字不一樣啦
命名不一樣,我在里面配置了不同端口,用於區分,那么實際讀取的application.properties是通過
#當前服務環境為開發測試環境 spring.profiles.active=dev #spring.profiles.active=prod
去讀取開發或者生產的環境的。
第一行還可以配置我們項目的根訪問路徑,比如沒有加之前我們在瀏覽器是按localhost:9090/hello訪問的,加了/wow之后,就是按照localhost:9090/wow/hello訪問。
開發環境和測試環境配置好之后,編寫一個測試類controller
@RestController public class UserController { @RequestMapping("/getUser") public User getUser() { User user= new User(); user.setId(PlantUuid.moreUuid(1)); user.setName("ahei"); user.setPwd("123456"); return user; } }
其中的工具類PlantUuid如下:
package com.example.util; import java.util.UUID; public class PlantUuid { public static void main(String[] args) { // TODO Auto-generated method stub //moreUuid(10); } //得到32位的uuid public static String createUuid32() { String uuid = ""; uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase(); System.out.print("---生成的uuid是---"+uuid+"\n"); return uuid; } //一次生成多個uuid public static String moreUuid(Integer t) { String more_uuid = ""; Integer k = 0; for (k=0;k<t;k++) { more_uuid = createUuid32(); } return more_uuid; } }
在瀏覽器按localhost:9090/wow/getUser訪問
切換端口也可以的哦!