首页 > 其他分享 >SpringBoot配置加载优先级

SpringBoot配置加载优先级

时间:2024-01-10 21:34:40浏览次数:32  
标签:优先级 SpringBoot 配置文件 jar yml file config 环境变量 加载

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

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配置加载优先级_配置文件_03

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

相关文章

  • SpringBoot-Mybatis整合
     创建数据库CREATETABLE`user`( `id`int(11)NOTNULLAUTO_INCREMENTcomment'学号', `name`varchar(20)DEFAULTNULL, `pwd`int(11)DEFAULTNULL, PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=18DEFAULTCHARSET=utf8;创建一个springboo......
  • Springboot 扩展点
    1.ApplicationContextInitializerorg.springframework.context.ApplicationContextInitializer这是整个spring容器在刷新之前初始化ConfigurableApplicationContext的回调接口,简单来说,就是在容器刷新之前调用此类的initialize方法。这个点允许被用户自己扩展。用户可以在......
  • SpringBoot中使用单例模式+ScheduledExecutorService实现异步多线程任务(若依源码学习
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662设计模式-单例模式-饿汉式单例模式、懒汉式单例模式、静态内部类在Java中的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/......
  • springboot学习日记(八)
    前后端分离的项目static目录下一般不存放东西。static目录下的图片等资源默认做了映射,直接在localhost:8080下访问即可。表单中的enctype属性决定了服务器对表单数据的编码,将该属性设置成form-data时可以通过filename找到路径,用content-type设置内容格式来上传文件。可使用Multi......
  • SpringBoot WebSocket 样例
    SpringBootWebSocket样例pom.xml依赖配置<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency><dependency><groupId>javax.webso......
  • 8、SpringBoot2之打包及运行
    为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行8.1、概述普通的web项目,会被打成一个war包,然后再将war包放到tomcat的webapps目录中;当tomcat启动时,在webapps目录中的war包会自动解压,此时便可访问该web项目的资源或服务;因为......
  • 基于SpringBoot+Vue的流浪动物领养信息系统设计实现(源码+lw+部署文档+讲解等)
    (文章目录)前言:heartpulse:博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌:heartpulse:......
  • SpringBoot集成WebSocket实现消息推送
    一、前言WebSocket是一种新型的通信协议,它可以在客户端和服务端之间实现双向通信,具有低延迟、高效性等特点,适用于实时通信场景。它是一种基于TCP协议实现的全双工通信协议,使用它可以实现实时通信,不必担心HTTP协议的短连接问题。SpringBoot可以很方便的集成WebSocket实现高效实时的......
  • springboot通过自定义注解@Log实现日志打印
    springboot通过自定义注解@Log实现日志打印效果图实操步骤注意,本代码在springboot环境下运行,jdk1.81.引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency>......
  • 【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据
    Mybatis是什么Mybatis是一个基于JDBC实现的,支持普通SQL查询、存储过程和高级映射的优秀持久层框架,去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。Mybatis主要思想是将程序中大量的SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。在所有ORM框......