SpringBoot配置文件.yaml(.yml)和.properties
application.yml 与 applicaiton.properties 的效果并没有太大的区别,都是应用启动配置文件,springboot 项目在运行时都能识别到,只是语法上需要注意进行区别,写法转换在文章中均已提及
在开发过程中,一个项目可能会使用到不同的环境配置进行开发,如:
SpringBoot------yaml文件多环境配置以及配置文件位置、多环境激活(七)
不同目录下的配置文件优先级,从上至下优先级递减:
application.yml 指定启用:
spring:
profiles:
active: dev ## 启用 application-dev.yml 文件配置,dev ☞ -后缀名
application.properties 文件中启用
spring.profiles.active: dev ## 启用 application-dev.yml 文件配置,dev ☞ -后缀名
以 application.xml 进行指定:
spring:
profiles:
active: @profileActive@ ## @profileActive@ 与 properties 中的关键字相同
单个应用中,在 pom.xml 中进行指定,代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<profiles>
<profile>
<id>devid>
<properties>
<profileActive>devprofileActive>
properties>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
profile>
<profile>
<id>qaid>
<properties>
<profileActive>qaprofileActive>
properties>
profile>
<profile>
<id>preid>
<properties>
<profileActive>preprofileActive>
properties>
profile>
<profile>
<id>prodid>
<properties>
<profileActive>prodprofileActive>
properties>
profile>
profiles>
因为使用 IDEA 建立的 springboot 项目,故未使用命令行方式进行启动,采用了手动进行选择的方式,指定启用配置
found character '@' that cannot start any token. (Do not use @ for indentation)
in 'reader', line 10, column 13:
active: @profileActive@
解决方式一:刷新 mvn 配置依赖可以得到解决
解决方式二:SpringBoot的yaml配置文件,提示Do not use @ for indentation
在idea中仍然需要手动刷新 mvn