spring boot 配置文件占位符和多环境配置 [七]
配置文件占位符
person.last-name=zhangsan
person.age=${random.int}
person.birth=2017/12/15
person.boss=false
person.maps.k1=v1
person.maps.k2=#{person.last-name:zhangsan}
person.lists=a,b,c
${random.int} 可以指定一些随机数
{person.last-name:zhangsan} 可以引用配置文件的配置内容,:后面代表如何找不到引用,那么就用后面zhangsan。
多环境配置
这个spring boot本身就自我支持,只需知道怎么用就好。
我创建了上面两个文件。
在application.properties 中:
spring.profiles.active=dev
application-dev.properties:
server.port=8083
application-prod.properties:
server.port=8082
因为上面激活的是dev,那么运行后:
在yml配置文件中,你需要这样写:
server:
port: 8082
spring:
profiles:
active: dev
---
server:
port: 8083
spring:
profiles:dev
---
server:
port: 8082
spring:
profiles:prod
同样命令行也可以实现,而且是最高优先级。
在配置中:
实际上其真实运行参数为:--spring-profiles-avtive=prod.
全名是:java -jar xxx.jar --spring-profiles-avtive=prod