1. 程式人生 > 實用技巧 >springboot:配置(佔位符、properties的profile、yaml的多文件塊)

springboot:配置(佔位符、properties的profile、yaml的多文件塊)

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

虛擬機器引數:

測試: