0
点赞
收藏
分享

微信扫一扫

SpringBoot配置加载优先级

优先级:命令行参数>环境变量>配置文件

1.命令行参数配置

java -jar -Dserver.port=8000 ruoyi-admin.jar

2.环境变量配置

linux系统环境:

# 申明环境变量
export SERVER_PORT=10000
# 执行jar包
java -jar demo.jar

window系统环境:

idea中:

SpringBoot配置加载优先级_环境变量

java -jar命令使用环境变量需要再win系统环境变量中配置:

SpringBoot配置加载优先级_配置文件_02

3.配置文件配置

如果一个应用中既有properties文件也有yml文件,相同条件下,properties文件优先级高于yml文件,SpringBoot官方推荐只是用一种文件格式作为配置文件

优先级从上到下越来越低:

配置文件位置

说明

file:./config/

位于project目录下的config目录

file:./

projet目录。

classpath:/config/

jar包内的文件目录,对应代码的resource目录中的config

classpath:/

jar包内的文件,对应代码的resource目录。

@Deprecated
public class ConfigFileApplicationListener implements EnvironmentPostProcessor, SmartApplicationListener, Ordered {
    private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,file:./config/*/,file:./config/";
    private static final String DEFAULT_NAMES = "application";

SpringBoot配置加载优先级_jar_03

4.带profile的配置文件

resource目录下有三个配置文件:

  • application.yml
  • application-dev.yml
  • application-druid.yml

配置如下,使用druid和dev配置文件,如果和application.yml中存在相同的配置,应用会使用profile文件中的配置

spring:
  profiles:
    active: druid,dev

举报

相关推荐

0 条评论