二、SpringBoot中yaml占位符和多profiles文件(不同环境下的配置)

SpringBoot中yanl的占位符

person:
  last-name: 张三_${random.uuid}
  age: ${random.int(20,100)}
  hobbies: [篮球,跑步,吉他]
  map: {k1: 你好,k2: 世界}
  dog:
    name: ${person.hello:张三}_狗东西
    # name: ${person.last_name}_狗东西
    age: 10

${}可以用来充当占位符,random可以拿来取随机数,也可以来引用之前的属性,如果引用属性的时候找到该属性,则输出会把你写的方程字符串来输出,此时可以用:为其指定默认的值

开发环境和生产环境肯定会不一样,此时我们就需要通过profiles来指定此时处于什么环境,而yaml有一个很友好的功能,就是多文档块,中间用—来分割文档块,spring.profiles.active: prod来激活指定的配置文件,如下

#文档块一(默认)
server:
  port: 8081
spring:
  profiles:
    active: prod
---
#文档块二(开发环境)
server:
  port: 8082
spring:
  profiles: dev


---
#文档块三(生产环境)
server:
  port: 8083
spring:
  profiles: prod

如果使用properties配置文件,需要写多个配置文件

激活配置文件的方式有多种,除了上面那一种,还有虚拟机激活方式,命令行激活方式,命令行激活方式在项目打成jar包后依然很完美的可执行,命令一样,如下

java -jar xxxxx.jar --spring.profiles.active = prod

猜你喜欢

转载自blog.csdn.net/lp20171401131/article/details/106734251