1、配置文件的加载位置
springboot会自动扫描application.properties或application.yml文件作为springboot的默认配置在文件
file:./config/(项目下的config,和src同级) file:./ classpath:/config/ classpath:/ 是优先级由高到低的顺序,所有未知的文件都会被加载,高优先级的配置内容会覆盖低优先级的内容
(1)同时新建两个配置文件,一个在config目录下,另一个在classpath:路径下
默认访问的是config目录下的配置文件:
在与项目的src目录同一级新建一个config目录,在该目录下书写配置:再次访问上面的路径,已经失效,需要访问新的配置中的端口号
也就是说高优先级的配置覆盖了低优先级的配置
(2)互补配置:高优先级有的话使用高优先级的配置,没有的话就用低优先级的配置
访问controller的时候,用到的是高优先级的端口号和低优先级的访问路径
(3)项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定的配置文件和默认加载的配置文件会一起起作用形成互补配置
打包:
运行:使用的路径是在本地磁盘上的配置文件的路径
java -jar demo-0.0.1-SNAPSHOT.jar --spring.config.additional-location=D:/Desktop/application.properties
2、外部配置的加载顺序
高优先级的配置会覆盖低优先级的配置形成互补配置,下面的命令行方式的参数配置的优先级最高
(1)运行jar包
java -jar demo-0.0.1-SNAPSHOT.jar
默认运行的是项目参与打包的最高优先级的配置文件:
测试:
(2)命令行方式修改配置
在运行jar包的时候,在命令行后添加参数:
java -jar demo-0.0.1-SNAPSHOT.jar --server.port=8888
测试:
(3)命令行方式修改多个配置
测试:
多个参数用空格分隔
(4)读取配置文件上的参数
需要在与jar包同一级的目录下新建一个配置文件:
在配置文件中书写相关参数:此种方式适合要添加的参数较多的情况
测试: