SpringBoot配置文件bootstrap和application区别及说明
SpringBoot配置文件bootstrap和application区别
springboot支持的配置类型有两种四个bootsrap application
Yml文件:
- bootstrap.yaml(bootstrap.yml)
- application.yaml(application.yml)
properties属性文件:
- bootstrap.properties
- application.properties
bootstrap和application的区别
1.加载顺序的区别:
bootstrap配置文件比application配置文件优先加载,bootstrap是由Spring父上下文(父ApplicationContext)加载,application是由Spring子上下文加载。
2.优先级的区别:
bootstrap里的属性不能被覆盖,如果bootstrap和application两种类型的文件同时存在,是以bootstrap配置文件为主
3.使用场景:
bootstrap主要用于配置系统级别的一些参数
- 一些固定的,不能被覆盖的参数
- 当你使用了Spring Cloud Config配置中心时,这时需要在boostrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。
application用于配置一些应用级别的参数
- 第三方数据源的配置
- rabbitmq,redis的配置
bootstrap与application对比分析
用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件
- bootstrap (.yml 或者 .properties)
- application (.yml 或者 .properties)
为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗?
bootstrap/ application的区别
特意去翻了下 Spring Boot 的官方文档,没有找到关于这两种文件的具体定义,然后再翻了下 Spring Cloud 的官方文档找到了它们的区别。
认真阅读了下文档,原文大概意思是这样。
Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap,另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。
bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。
这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。
bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。
因此,对比 application 配置文件,bootstrap 配置文件具有以下几个特性。
- boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载
- boostrap 里面的属性不能被覆盖
bootstrap/ application的应用场景
application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。
bootstrap 配置文件有以下几个应用场景。
- 1.使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
- 2.一些固定的不能被覆盖的属性
- 3.一些加密/解密的场景;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法
这篇文章主要介绍了C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法,相比普通方法能够在Windows下简化很多操作步骤,需要的朋友可以参考下2016-04-04
spring boot validation参数校验与分组嵌套各种类型及使用小结
参数校验基本上是controller必做的事情,毕竟前端传过来的一切都不可信,validation可以简化这一操作,这篇文章主要介绍了spring boot validation参数校验分组嵌套各种类型及使用小结,需要的朋友可以参考下2023-09-09
基于Springboot+Vue实现的在线答题闯关系统全过程
这篇文章主要介绍了基于Springboot+Vue实现的在线答题闯关系统的相关资料,文中包括前端Vue.js、后端SpringBoot及MySQL数据库的使用,系统功能涵盖顺序出题、体型练习、随机出题、错题本、收藏题和答题统计等,需要的朋友可以参考下2024-12-12
SpringMVC @RequestMapping注解作用详解
通过@RequestMapping注解可以定义不同的处理器映射规则,下面这篇文章主要给大家介绍了关于SpringMVC中@RequestMapping注解用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-01-01


最新评论