SpringBoot 会从以下四个位置读取配置文件
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
在项目中所对应的位置如下:
创建好springboot的时候所给的优先级默认是最低的.
优先级1位置的application.yaml文件内容:
server:
port: 8081
优先级2位置的application.yaml文件内容:
server:
port: 8082
优先级3位置的application.yaml文件内容:
server:
port: 8083
优先级4位置的application.yaml文件内容:
server:
port: 8084
启动springboot项目,运行端口为8081,证明项目路径下的config文件夹配置文件 优先级最高.接着把该目录删掉,再运行springboot项目,运行端口8082,重复以上操作,验证其优先级.
在resource目录下,新建yaml配置文件,开发环境dev和测试环境test,其中配置文件必须以application开头
application.properties的内容如下:
server.port=8081
application-dev.properties的内容如下:
server.port=8082
application-test.properties的内容如下:
server.port=8083
接着,需要使用配置文件只要在application.properties中指定:
server.port=8081
spring.profiles.active=test
开启测试配置文件,启动springboot,运行端口为8083
但是这要写多个配置文件,比较繁琐,yaml的优势凸显出来了.把application.properties,application-dev.properties和application-test.properties这两个配置文件删了.
yaml可以使用多文档,下面我们来理解一下
server:
port: 8081
spring:
profiles:
active: test
---
server:
port: 8082
spring:
profiles: dev
---
server:
port: 8083
spring:
profiles: test
通过三条短横杆来进行区分文档,每个文档取名,接着在最上面的默认文档中指定激活哪个文档.