一 、默认配置文件目录

  spring boot 启动会扫描以下位置的application.properties 或者application.yml文件作为spring boot 的默认配置文件 ,加载的优先由上到下,加载的时候,会把以下路劲的文件都加载一遍。不同的配置内容会全部加载到系统,对于重复的配置内容,优先级别高的配置文件内容会覆盖优先级别低的配置文件内容。

 
路劲 说明
file:./config/ 工程文件夹下的config目录。
file:/ 工程文件夹目录,如果是maven项目那么和pom.xml是一个层级
classPath:/config/ 工程 classPath文件夹下的config文件夹
classPath:/ 工程classpath文件夹

  除了上述的文件目录以外,还可以用spring.config.location 参数的形式指定配置文件 :java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.properties ,如果上述的默认路劲有配置文件的话,会和配置内容会形成互补作用,相同的内容优先级别高的会覆盖优先级别低的。

二、外部配置

  有时候工程已经打成jar了 ,想修改系统的配置,SpringBoot也可以从jar包外面设置参数,加载配置; 以下设置优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会 形成互补配置

  1.命令行参数
    所有的配置都可以在命令行上进行指定 ,多个配置用空格分开; --配置项=值
    java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc
  2.来自java:comp/env的JNDI属性
  3.Java系统属性(System.getProperties())
  4.操作系统环境变量
  5.RandomValuePropertySource配置的random.*属性值
  在工程jar包的层级目录下建立配置文件如: 那么以参数的形式启动工程:java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar ,加载配置文件,会按以下规则,  由jar包外向jar包内进行寻找;

  优先加载带profile
  6.jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  7.jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  再来加载不带profile
  8.jar包外部的application.properties或application.yml(不带spring.profile)配置文件
  9.jar包内部的application.properties或application.yml(不带spring.profile)配置文件
  10.@Configuration注解类上的@PropertySource
  11.通过SpringApplication.setDefaultProperties指定的默认属性
  所有支持的配置加载来源;

Spring boot 配置文件默认放置位置,和加载优先级的更多相关文章

  1. SpringBoot配置文件可存放位置和加载顺序

    使用IDEA创建一个spring初始化项目后.默认的配置文件在resources文件夹下. SpringBoot启动时,会扫描application.properties或application.ym ...

  2. Spring Boot 配置文件和命令行配置

    Spring Boot 属于约定大于配置,就是说 Spring Boot 推荐不做配置,很多都是默认配置,但如果想要配置系统,使得软件符合业务定义,Spring Boot 可以通过多种方式进行配置. ...

  3. 【串线篇】spring boot配置文件加载位置

    springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 (1)–file:./config/ ...

  4. Spring boot 配置文件 加载顺序

    springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ – ...

  5. Spring Boot配置文件加载顺序

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.通过spring.config.location改变配置文件的位置 二.外部配置加载顺序 1.使用命令行参数指定加 ...

  6. Spring Boot 配置文件中的花样,看这一篇足矣!

    在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring Boot给我们带来的诸多优点,我们用非常少的代码量就成功的实现了一个Web应用,这是传统的Spring应 ...

  7. Spring Boot 配置文件中的花样

    原文:https://www.cnblogs.com/didispace/p/11002732.html 在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring ...

  8. Spring boot 配置文件详解 (properties 和yml )

    从其他框架来看 我们都有自己的配置文件, hibernate有hbm,mybatis 有properties, 同样, Spring boot 也有全局配置文件. Springboot使用一个全局的配 ...

  9. Springboot 系列(二)Spring Boot 配置文件

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 不管是通过官方提供的方式获取 Spring ...

随机推荐

  1. webpack 之 一个简单的基本生产环境配置

    webpack 之 一个简单的基本生产环境配置 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = r ...

  2. 学习JS的第二天

    一.数据类型间的转换 主要:数字与字符串之间的转换 1.隐式转换 // console.log(1==true);[] 字符串与数字相加,其结果就是字符串  类似于字符串拼接 concole.log( ...

  3. gcc: fatal error: limits.h: No such file or directory on macos

    重装gcc brew install gcc 软链接链到新的gcc和g++ https://stackoverflow.com/questions/56280122/gcc-fatal-error-l ...

  4. c++学习笔记1(引用)

    引用 格式:类型名&引用名=某变量名: 概念 实例:编写交换整型变量的函数对比 不用引用 实机操作 使用引用 实机操作 实例2:用作函数的返回值 可对函数返回值赋值 常引用 使用格式,在引用前 ...

  5. SpringCloud升级之路2020.0.x版-35. 验证线程隔离正确性

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 上一节我们通过单元测试验证了重试的正确性,这一节我们来验证我们线程隔离的正确性,主要包括: ...

  6. CSS学习笔记:flex布局

    目录 一.Flex布局简介 1. Flex布局的主要作用 2. Flex布局应用场景 二.Flex布局的使用 1. Flex布局的两种相关元素 2. 父项属性 2.1 flex- direction ...

  7. [atAGC054E]ZigZag Break

    结论:(不妨假设$p_{1}<p_{n}$)$\{p_{i}\}$合法当且仅当$\exists 1\le i\le n-1$,使得$p_{1}\ge p_{i}$且$p_{i+1}\ge p_{ ...

  8. Codeforces 809E - Surprise me!(虚树+莫比乌斯反演)

    Codeforces 题目传送门 & 洛谷题目传送门 1A,就 nm 爽( 首先此题一个很棘手的地方在于贡献的计算式中涉及 \(\varphi(a_ia_j)\),而这东西与 \(i,j\) ...

  9. Shell中 ##%% 操作变量名

    在linxu平台下少不了对变量名的处理,今天记录下shell中 ##%% 对变量名的操作. #操作左侧,%操作右侧. #号处理方式: 对于单个#,处理对象为变量中指定的第一个符号左侧字符串, 对于两个 ...

  10. Excel-判断一个文本字符串中是否包含数字! 判断一个文本字符串是否是纯汉字!

    0.判断一个文本字符串中是否包含数字!/判断一个文本字符串是否是纯汉字! 公式=IF(LENB(A1)=2*LEN(A1),"都是汉字","含有非汉字字符") ...