3 springboot配置檔案

我姓趙、我心照發表於2018-12-19

springboot 是習慣優於配置,拋棄SSM中繁瑣的配置內容,大量的基礎配置由框架的完成。所以我們現在沒有用任何的配置檔案,可以快速的將專案執行起來。

我們找到web模組中的application.properties檔案 這是一個全域性的配置檔案,存放於專案的中resources目錄中。配置檔案支援properties檔案和yml檔案。yml檔案的層級語法更要清晰寫。

 

我們來刪除專案中的application.properties的檔案(如果專案中存在的話),新建一個application.yml檔案,修改檔案內容如下

 

1 server:
2   port: 8001

 

重新啟動專案,訪問http://localhost:8001/getlist

注意下語法

1 yml層級介面,第二行的內容要加上一個tab鍵

2 第二行的:後邊要加上一個空格 然後在去寫上內容

我們會看到 正確的返回了JSON內容,而8080已經不能訪問。這就是習慣優於配置,框架預設給我們的設定一個啟動埠,不需要我們再去指定埠,但是我們依然可以重新配置來覆蓋預設的內容。

 

自定義配置

有時候我們需要配置一些資訊常量值

我們再次修改application.yml檔案,內容如下

1 server:
2   port: 8001
3 
4 test:
5   test1: 哈哈
6   test2: 123456

 

修改Testcontroller中的程式碼,將我們寫好的配置內容繫結到欄位上,內容如下

 1 @RestController
 2 public class Testcontroller {
 3 
 4     @Autowired
 5     TestService testService;
 6 
 7     @Value("${test.test1}")
 8     private  String test1;
 9 
10     @Value("${test.test2}")
11     private  String test2;
12 
13     @GetMapping("/sayhello")
14     public String sayHello() {
15         return "Hello Word";
16     }
17 
18     @GetMapping("/getlist")
19     public List<TestDto> getlist(){
20         return testService.getTestList();
21     }
22 
23     @GetMapping("/gettest")
24     public String gettest(){
25         return test1+test2;
26     }
27 }

 

訪問http://localhost:8001/gettest

看到返回值:哈哈123456

說明我們的配置檔案已經生效了

 

多配置環境

一般我們在開發的過程中,不同的環境需要不同的配置檔案。比如我們 資料庫連線字串,正式和測試,和開發環境中的都不一樣

我們先建立三個檔案

application-dev.yml  本地開發環境的配置檔案

application-testyml  測試環境中的配置檔案

application-prod.yml 正式環境的配置檔案

我們再次修改這些內建檔案內容如下

application.yml檔案

1 server:
2   port: 8001
3 
4 spring:
5   profiles:
6     active: dev

application-dev.yml

1 test:
2   test1: 開發環境
3   test2: 123456

application-prod.yml

1 test:
2   test1: 正式環境
3   test2: 123456

application-test.yml

1 test:
2   test1: 測試環境
3   test2: 123456

我們重新執行專案 訪問http://localhost:8001/gettest

我們會看到返回值 :開發環境123456

我們再次修改active值為 test

再次訪問 http://localhost:8001/gettest

我們會看到返回值 測試環境123456

說明我們修改的多環境已經生效了

 

我們在按照上一篇文章的方式進行專案打包

切換到webtartget目錄中執行命令

java -jar somefun-web-0.0.1-SNAPSHOT.jar –spring.profiles.active=prod

我們再次訪問 http://localhost:8001/gettest

會發現返回內容:正式環境123456

同樣的我們也可以在命令列中指定其他的環境引數值

 

這裡只是列舉了一些簡單的使用方式,更加詳細的配置內容可以關注SpringBoot官方文件https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/

 

相關文章