1、配置文件加载位置
SpringBoot应用启动时会扫描以下位置的主配置文件(application.properties/application.yml),作为应用的默认配置文件,且优先级由高到底:
①当前项目文件路径下的config文件夹——file/config/
②当前项目文件路径下——file/
③类路径下的config文件夹——classpath/config/
④类路径下——classpath/
2、配置文件的优先级
以上四个路径下的配置文件是有优先级的,但是并非低优先级的配置文件不会被加载,而是全部的配置文件都会被加载,出现相同配置的时候以高优先级的为准,即高优先级会覆盖低优先级的配置,不相同的配置项会形成互补,例如:
若在以上四个位置的application.properties文件中都配置了server.servlet.context-path来修改应用的访问根地址,则会先以file/config/的配置为准,若file/config/中没有配置该项或者该文件夹下没有主配置文件则再以file/下的主配置文件为准,以此类推直到类路径下的主配置文件:
server.servlet.context-path=/springboot
注意该配置必须以/开头
3、修改默认配置文件位置:spring.config.location
在项目打包完成之后,运行项目时,通过命令行参数配置spring.config.location参数来指定配置文件的位置,文件名可以任意,此时的配置文件不一定在项目路径下,可以在任何一个文件夹下,指定路径下的的配置文件和项目中的配置文件互补:
这种通过启动应用时用命令行的方式修改应用的配置非常适用于运维