加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

配置文件你了解多少?

发布时间:2021-04-20 14:48:39 所属栏目:动态 来源:互联网
导读:中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .properties) 接下来说下这两个配置文件有什么区别! bootstrap/ application 的区别 bootstrap.yml(bootstrap.properties)先加载 application.yml(application.properties)

中有以下两种配置文件

  • bootstrap (.yml 或者 .properties)
  • application (.yml 或者 .properties)

接下来说下这两个配置文件有什么区别!

bootstrap/ application 的区别

bootstrap.yml(bootstrap.properties)先加载

application.yml(application.properties)后加载

bootstrap.yml 用于应用程序上下文的引导阶段,由父Spring ApplicationContext加载。父ApplicationContext 被加载到使用application.yml的之前。

在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖也就是说bootstrap中的配置不能被覆盖。

bootstrap/ application 的应用场景

application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。

bootstrap 配置文件有以下几个应用场景。

  • 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
  • 一些固定的不能被覆盖的属性
  • 一些加密/解密的场景;里冒号 “:” 后面就是设置的默认值,这里也可以什么也不写${pack.name:}。

    加载制定环境的配置文件

    一般我们都会为测试环境,开发环境,生产环境分别设置不同的配置文件,不同的环境加载不同的配置文件。ApplicationListener.java源码,该文件中定义了从哪些地方加载配置文件。

    加载顺序:

    • file:./config/
    • file:./config/*/
    • file:./
    • classpath:config/
    • classpath:

    优先级从高到低,高的覆盖低的。

    默认情况下加载的是application.yml或application.properties文件。

    在启动应用程序的时候可以制定配置文件的名称

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!