优先级:命令行参数>环境变量>配置文件
1.命令行参数配置
java -jar -Dserver.port=8000 ruoyi-admin.jar
2.环境变量配置
linux系统环境:
# 申明环境变量
export SERVER_PORT=10000
# 执行jar包
java -jar demo.jar
window系统环境:
idea中:
java -jar
命令使用环境变量需要再win系统环境变量中配置:
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";
4.带profile的配置文件
resource
目录下有三个配置文件:
application.yml
application-dev.yml
application-druid.yml
配置如下,使用druid和dev配置文件,如果和application.yml中存在相同的配置,应用会使用profile文件中的配置
spring:
profiles:
active: druid,dev
标签:优先级,SpringBoot,配置文件,jar,yml,file,config,环境变量,加载
From: https://blog.51cto.com/u_13598868/9184937