关于Profile配置
在配置中,许多配置值会因为当前环境不同,需要配置不同的值,例如,在开发环境中,日志的显示级别可以是trace
这种较低级别的,而在测试环境、生产环境(项目部署上线并运行)中可能需要改为其它值,再例如,连接数据库配置的相关参数,在不同环境中,可能使用不同的值……如果在application.properties
中反复修改大量配置值,是非常不方便的!
Spring框架支持Profile配置(个性化配置),Spring Boot简化了Profile配置的使用,它支持使用application-xxx.properties
作为配置文件的名称,其中,xxx
部分是完全自定义的名称,你可以针对不同的环境,编写一组配置文件,这些配置文件中配置了相同的属性,但是值不同,例如:
application-dev.properties(暂定为“开发”环境使用的配置文件)
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
# 日志的显示级别
logging.level.cn.tedu.csmall=trace
application-test.properties(暂定为“测试”环境使用的配置文件)
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://192.168.1.100:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=test
spring.datasource.password=test123
# 日志的显示级别
logging.level.cn.tedu.csmall=debug
application-prod.properties(暂定为“生产”环境使用的配置文件)
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://192.168.1.255:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=prod
spring.datasource.password=s3ctet@tedu.cn
# 日志的显示级别
logging.level.cn.tedu.csmall=info
以上这些不在application.properties
中的配置,默认是不生效的!需要在application.properties
中显式的激活后,才会生效!例如:
# 激活Profile配置
spring.profiles.active=prod
小结:
appliation.properties
是始终加载的配置application-xxx.properties
是需要通过application.properties
中的spring.profiles.active
属性来激活的application-xxx.properties
文件名中的xxx
是自定义的名称,也是spring.profiles.active
属性的值- 需要自行评估哪些配置会因为环境不同而配置不同的值