profile配置与yaml配置文件-爱代码爱编程
Spring框架允许使用Profile配置,即某些“个性化配置文件”,这些配置文件默认并不会被应用,需要“激活”后才生效!
在Spring Boot项目中,简化了Profile配置的使用:
以application.properties作为文件名的,是主配置文件,是始终被应用的
以application-自定义名称.properties作为文件名的,是Profile配置,需要“激活”才会生效
在application.properties中,通过 spring.profiles.active 属性来设置需要激活的Profile配置,此属性的值是Profile配置文件的文件名中“自定义名称”部分,如果需要激活多个配置,则各值使用逗号分隔即可
如果在application.properties和某个激活的Profile配置中,存在相同属性的配置,但值并不同,以Profile配置中的配置值为准
如果同时激活了多个Profile配置,且这些Profile配置中存在相同属性的配置,但值并不同,以spring.profiles.active值中后面的Profile配置为准
例如:application.properties
# 激活某些Profile配置
spring.profiles.active=dev
# 使用Mybatis时,配置SQL语句的XML文件的位置
mybatis.mapper-locations=classpath:mapper/*.xml
application-dev.properties
# 当前文件中的是【开发环境】的配置
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
spring.datasource.username=root
spring.datasource.password=root
#日志的显示级别
logging.level.com.zsw=trace
application-prod.properties
# 当前文件中的是【生产环境】的配置
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://db.aliyun.com:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
spring.datasource.username=prod
spring.datasource.password=P@ssw0rd
# 日志的显示级别
logging.level.com.zsw=warn
在Spring Boot项目中,还可以使用YAML配置文件,这是一种使用.yml作为扩展名的配置文件。
YAML的语法格式表现为:
如果属性名中有小数点,可以将小数点改为冒号,并换行,每换一行缩进2个空格
注意:必须是2个空格,不可以是其它符号,例如不可以是TAB制表位
提示:在IntelliJ IDEA中,编辑.yml文件时,按下的TAB键会被自动处理为2个空格
属性名与属性值之间,使用1个冒号和1个空格进行分隔(必须)
如果多个属性名有相同的部分,不必反复编写相同的部分,只要不同的部分保持相同的缩进即可
即使原属性名中是小数点的部分,没有替换为冒号加换行,也并不影响正常运行
例如:
spring:
datasource:
username: root
password: root
将原application.properties改为application.yml:
# 激活某些Profile配置
spring:
profiles:
active: dev
# 使用Mybatis时,配置SQL语句的XML文件的位置
mybatis:
mapper-locations: classpath:mapper/*.xml
将原application-dev.properties改为application-dev.yml:
# 当前文件中的是【开发环境】的配置
# 连接数据库的配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
username: root
password: root
# 日志的显示级别
logging:
level:
com.zsw: trace