栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot外部配置源之配置源的加载顺序与优先级

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot外部配置源之配置源的加载顺序与优先级

目录

Spring Boot外部配置源

每篇一句

外部配置源的作用

配置源的加载顺序与优先级


Spring Boot外部配置源

每篇一句
人是自我编制意义之网的生物,人只有在不快乐的时候才会思考意义,也只有在闲下来的时候才会寻找意义。

外部配置源的作用

        Spring Boot相当于对Spring框架进行了封装,Spring Boot会自动配置大量的基础设置Bean(比如DataSource、SessionFactory等)此时就需要提供一些必要的配置信息(如URL、用户名、密码啊),这样Spring才能帮我们去自动配置。

  • 配置源包含了配置文件,此外,配置源还包括如下:

  1. 环境变量

  2. 系统属性

  3. 命令行的选项参数

  4. JSON配置等

配置源的加载顺序与优先级

        各种配置源的加载顺序如下,所有先加载的配置源都有可能被后加载的配置源覆盖,因此可以认为后加载的配置源的优先级更高。

  • 加载顺序

  1. 默认属性(通过SpringApplication.setDefaultProperties()方法指定)。

  2. 配置类(@Configuration修饰的类)上的、用@PropertySource注解加载的属性文件中的属性值。    

  3. 配置文件(如application.properties文件等)。

  4. RandomValuePropertySource,只包含random.*中的属性。

  5. 操作系统环境变量。

  6. Java系统属性(System的getProperties()方法返回的属性)。

  7. 来自于 java:comp/env 的JNDI属性。

  8. ServletContext的初始化参数(在web.xml文件中通过元素设置的初始化参数)。

  9. ServletConfig的初始化参数(在web.xml文件通过元素设置的初始化参数或通过@Servlet注解设置的初始化参数)。

  10. 来自SPRING_APPLICATION_JSON的属性(嵌套在环境变量或系统属性中JSON文本)

  11. 命令行参数。

  12. 测试用例类上通过@SpringBootTest注解的properties所指定的属性。

  13. 测试用例类上通过@TestPropertySource注解加载的属性文件中的属性值。

  14. 如果Spring Boot的devtools工具处于激活状态,用户Home目录中.config/spring-boot/子目录下spring-boot-devtools.properties或spring-boot-devtools.yml文件设置的属性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号