springboot:配置(佔位符、properties的profile、yaml的多文件塊)
阿新 • • 發佈:2020-07-20
1、佔位符
student.sname=zhai_${random.uuid} student.age=12_${random.int} student.maps.k1=1 student.maps.k2=2 student.list=a,b,c student.course.courseno=202007_${student.sname} student.course.coursename=java
配置檔案中可以使用隨機數:如:random.value、random.int、random.long、random.int(10)
屬性配置佔位符,可以在配置檔案中引用前面配置過的屬性,${app.name:預設值}來指定找不到屬性時的預設值
2、profile
是spring對不同環境提供不同配置功能的支援,可以通過啟用指定的引數等方式快速切換環境
(1)多profile檔案形式:application-{ }.properties
書寫多個properties配置檔案,分別配置不同的埠號。
書寫controller:
@Controller public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello(){ return "hello world"; } }
(2)在預設情況下使用的是application.properties
(3)在主配置檔案中指定要啟用的配置檔案
spring.profiles.active=dev
(4)再次執行預設埠號已經改變
3、yaml的多文件塊
(1)配置檔案方式啟用
與properties配置檔案的配置方式不同yaml方式是把配置寫在一個配置檔案內,用---分隔,使用的時候啟用相應的文件塊即可:
server: port: 8888 spring: profiles: active: dev --- server: port: 8889 spring: profiles: dev--- server: port: 8890 spring: profiles: prod
測試
(2)命令列方式啟用
server: port: 8888 --- server: port: 8889 spring: profiles: dev --- server: port: 8890 spring: profiles: prod
配置命令列:
測試:
(3)指定虛擬機器引數啟用
配置檔案:
server: port: 8888 --- server: port: 8889 spring: profiles: dev --- server: port: 8890 spring: profiles: prod
虛擬機器引數:
測試: