springboot 指定配置文件
SpringAppication会默认将命令行选项参数转换为配置信息例:启动时命令参数的指定java -jar project.jar --server.port = 9090从命令行指定的配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用它SpringApplication.setAddCommandLineProperties(false);外部配置
·
SpringAppication会默认将命令行选项参数转换为配置信息
- 例:启动时命令参数的指定
java -jar project.jar --server.port = 9090
- 从命令行指定的配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用它
SpringApplication.setAddCommandLineProperties(false);
外部配置文件
Spring程序会按优先级从下面这些路劲来加载application.properties的配置文件
- 当前目录下的/config目录
- 当前目录
- classpath里的/config目录
- calsspath根目录
::: hljs-left
因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录
:::
自定义配置文件
不想使用application.properties最为配置文件,可以通过下面方式指定加载的配置文件
java -jar project.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
或者
java -jar -Dspring.config.location=C:\Users\77375\Desktop\www\test.yml project.jar
代码中指定
@SpringBootApplication
@PropertySource(value={"file:config.properties"})
public class SpringbootrestdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootrestdemoApplication.class, args);
}
}
按Profile不同环境读取不同配置文件
首先,按不同的环境设置一个配置文件,例如:
dev环境 => application-dev.yml
prod环境 => application-prod.tml
然后在application.properties中指定用哪一个配置文件
spring.profiles.active = dev
也可在启动的时候用命令指定:
java -ar project.jar --spring.profiles.active = prod
更多推荐
已为社区贡献1条内容
所有评论(0)