springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
- –file:./config/
- –file:./
- –classpath:/config/
- –classpath:/
以上路径的优先级由高到底,高优先级的配置会覆盖低优先级的配置;
注意:file:路径是指直接的项目底下就是和src包同级,classpath:路径是指resources
还有注意:并不是加载了高优先级的低优先级的就不加载了,而是互补配置的
互补配置:首先采用高优先级文件的配置,高优先级没有配置就采用低优先级的配置文件的配置
注意:maven打包项目的时候不符合maven目录结构的是不会打包的,所以file的都不打包进去的
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通过命令行参数来指定配置文件的位置
除了上面的方法设置配置文件之外,还可以通过命令行运行项目的时候额外添加指定路径来设置配置文件,如下
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.properties
注意:参数设置的配置文件比默认的优先级高
这种参数的方式,对于运维人员特别的友好,只需要搞一个配置文件修改一小部分的配置然后启动的时候添加进去,就可以了不需要修改文件重新打成jar包。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通过命令行参数来直接配置
所有的配置都可以在命令行上进行指定,如下就指定了端口和虚拟域名
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通过把配置文件(properties/yml)放在jar包外的同目录下
把配置文件放在jar包外的同目录下,SpringBoot也会去扫描这些配置文件
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其实常用的就那些,一定要追究细节的话,如下图