配置文件
1-配置文件后缀
配置文件有.yml .yaml .properties后缀结尾的三种配置文件的形式
2-配置文件书写格式
.yml .yaml书写格式为树状 .properties的书写格式为键值对的形式
.yml .yaml书写格式
# 端口配置
server
port: 8080
.properties的书写格式
# 端口配置
server.port=8080
3-配置文件的加载顺序
3.1-相同目录下的不同后缀配置文件的加载顺序
在默认情况下,同样的位置下配置文件的加载顺序时.yml > .yaml > .properties 1
然后在不同配置文件里面的同一配置,会以优先级较高的配置文件中的配置为准,优先级高的配置文件不存在的配置可以与较低优先级配置文件中的配置形成互补
例如1:
> .yml中对启动端口配置时8080
> .yaml中对启动端口配置时8081
> .properties中对启动端口配置时8082
则项目启动时的端口为8080
例如2:
> .yml中有配置1
> .yaml中有配置2
> .properties中有配置3
则项目启动后就存在三个配置,既配置1+配置2+配置3
3.2-不同位置的配置文件的加载顺序
以下配置文件加载顺序由高到低
- jar包存放位置同目录下的配置文件application.properties
- 总父级项目根目录下/config/配置文件
- 总父级项目根目录下/配置文件
- 当前子项目根目录下/config/配置文件
- 当前子项目根目录下/配置文件
配置文件的加载: 优先以配置文件的位置为优先度,其次再以配置文件的后缀名判别,最后再进行配置文件之间的配置互补
3.3-修改默认配置文件的名字
修改默认读取配置文件的名字后,读取配置文件时也会把指定的配置文件当作默认配置文件进行读取,但还是优先读取默认的配置文件,可以与默认的配置文件中的配置形成互补
通过注解PropertySource(“classpath:XXX.properties”)也可以指定注解名
在操作系统中指定的配置文件,会使约定的配置文件失效,不会与约定配置文件进行互补,但可以与约定配置文件之外指定的配置文件进行互补