一、自定义配置文件位置
1、环境变量中指定
系统环境变量中配置spring.config.location 属性即可
2、系统属性中指定
例如,现在在 resources 目录下创建一个 javaboy 目录,目录中存放一个 application.properties 文件,那么正常情况下,当我们启动 Spring Boot 项目时,这个配置文件是不会被自动加载的。我们可以通过 spring.config.location 属性来手动的指定配置文件位置,指定完成后,系统就会自动去指定目录下查找 application.properties 文件。
3、启动命令行指定
如果项目已经打包成 jar ,在启动命令中加入位置参数即可:
java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/javaboy/
注意,配置这个自定义配置位置时,配置的顺序,和实际检索的顺序是相反的,如:
配置了的搜索顺序:classpath:/custom-config/,file:./custom-config/,实际的搜索顺序为:
1. file:./custom-config/
2. classpath:custom-config/
上面这个是覆盖默认的配置位置,则以前位置的配置文件不会生效,如果想同时生效,等同于你需要增加几个配置文件位置,而不是替换他的配置文件位置,可以用 spring.config.additional-location,配置方式同上,顺序也是相反的。
二、自定义配置文件名
1、在环境变量中指定
系统环境变量中配置spring.config.name 属性即可
2、在系统属性中指定
举个列子:
首先我们在 resources 目录下创建一个 app.properties 文件,然后在 IDEA 中指定配置文件的文件名:
3、启动命令行指定
$ java -jar myproject.jar --spring.config.name = myproject
三、总结:
1. 配置文件位置和文件名称可以同时自定义;
2. 如果使用环境变量而不是系统属性,则大多数操作系统不允许使用句点分隔的键名,但可以使用下划线(例如,SPRING_CONFIG_NAME而不是spring.config.name)。