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

虚拟机参数:

 测试:

原文地址:https://www.cnblogs.com/zhai1997/p/13343309.html