一、Spring Boot可以读取外部配置文件,步骤如下:
- 在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下。
- 直接把配置文件放到jar包的同级目录。
- 在classpath下或jar包同级目录建一个config文件夹,然后把配置文件放进去。
- 在classpath下直接放配置文件。
Spring Boot默认是优先读取它本身同级目录下的一个config/application.properties文件的
二、设定读取到外部配置,我们在打SpringBoot包时,就可以排除application配置
- 确保您使用的是Maven作为构建工具。
- 在
pom.xml
文件中找到构建插件的相关配置。
对于Maven,通常是<build>
标签下的添加resource标签,例如:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*properties</exclude>
</excludes>
</resource>
</resources>
</build>
-- 设置好如上配置
运行构建命令。
对于Maven,可以运行mvn clean package命令。
这样,打包后的可执行JAR或WAR文件将不包含application.properties
文件
说明:
Spring Boot 版本加载application文件的顺序是由以下位置决定的:
- 项目路径下的config文件夹配置文件
- 项目的根目录下面配置文件
- 资源路径下的config文件夹配置文件
- 资源目录下的config文件夹配置文件
优先级从高到低依次为:项目路径下的config文件夹配置文件、项目的根目录下面配置文件、资源路径下的config文件夹配置文件、资源目录下的config文件夹配置文件。
Spring Boot通过ConfigFileApplicationListener
类加载config
目录下的application.properties
文件。 该类实现了ApplicationListener<ApplicationEnvironmentPreparedEvent>
接口,会在应用程序启动后自动加载config
目录下的application.properties
文件,并将其中的键值对注入到应用程序的上下文环境中。