Spring Boot 核心配置文件详解

转载自   Spring Boot 核心配置文件详解

用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件

  • bootstrap (.yml 或者 .properties)

  • application (.yml 或者 .properties)

为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗?

bootstrap/ application 的区别

特意去翻了下 Spring Boot 的官方文档,没有找到关于这两种文件的具体定义,然后再翻了下 Spring Cloud 的官方文档找到了它们的区别。

http://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#thebootstrapapplicationcontext

认真阅读了下文档,原文大概意思是这样。

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 配置文件有以下几个应用场景。

  • 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;

  • 一些固定的不能被覆盖的属性

  • 一些加密/解密的场景;

以下这个截图是一个国外网友问了一个 Spring Cloud 工程师得到的回答。

 

做过 Spring Cloud 微服务的朋友应该对 bootstrap 的应用十分清楚,我们也有 Spring Cloud 的实战教程,在 Spring 专题中都能看到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Net分布式系统之:微服务架构

一、背景&问题 之前框架是一个基于SOA思想设计的分布式框架。各应用通过服务方式提供使用,服务之间通信是RPC方式调用,具体实现基于.NET的WCF通信平台。框架存在如下2个问题: 1、高并发处理能力不足。一当高并发请求,可能出现…

[Cake] 0.C#Make自动化构建-简介

0. Cake是什么? Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。 熟悉大名鼎鼎的Make的小伙伴,应该已经知道…

99%的面试官都会问到的Java面试题

转载自 99%的面试官都会问到的Java面试题 最近是招聘季,所谓金九银十,正是跳槽的好几节。今天,给大家整理了一些Java面试常考的经典题目,我们一道一道来分析一下。 经典面试题 1、谈谈你对 Java 平台的理解?“Java …

想对你们每个人说的话

135编辑器1吉方鑫:方鑫,在我和王老师面前,你永远都是那么的乖,爱笑,常言道:爱笑的人运气不会太差,希望你也是如此哦,现在的学业已经到了三期了,相信你也知道后期的学习该…

Dora.Interception: 一个为.NET Core度身定制的AOP框架

多年从事框架设计开发使我有了一种强迫症,那就是见不得一个应用里频繁地出现重复的代码。之前经常Review别人的代码,一看到这样的程序,我就会想如何将这些重复的代码写在一个地方,然后采用“注入”的方式将它们放到需要的程序中。…

揭秘阿里秒级百万TPS平台架构实现

转载自 揭秘阿里秒级百万TPS平台架构实现 导读:搜索离线数据处理是一个典型的海量数据批次/实时计算结合的场景,阿里搜索中台团队立足内部技术结合开源大数据存储和计算系统,针对自身业务和技术特点构建了搜索离线平台,提供复杂…

相对你们说的一些话

135编辑器1田文豪:文豪,最近上课我看你很认真,面试题也背的挺好的,你在很努力的学习了,这是一个非常好的趋势,希望你能一直保持下去。你的脑字也是很灵活的,好几次考试都超出了我的预想&#xf…

Build 2017 | 一文看懂微软 Build 2017 大会:让 AI 走向边缘

200 多家明星企业,20 位著名投资机构顶级投资人共同参与!「新智造成长榜」致力于发掘 AI 领域有 “三年十倍” 成长潜力的创新公司,下一波 AI 独角兽,会有你么?点击阅读原文了解详情! 雷锋网按:…

一文带你理解Java中Lock的实现原理

转载自 一文带你理解Java中Lock的实现原理 当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出问题。java提供了两种方式来加锁,一种是关键字:synchronized,一种是concurrent包下的lock锁。syn…

请19级的童鞋们接收一下

135编辑器1李磊:磊,假期过的可好?有没有人在写作业呀?通过这段时间的学习,可以看得出你对我们的课程兴趣浓厚,尤其是scratch,自己做了好多的案例,之前还以为你们都是从网上直接下载的…

微软Build 2017首日主角AI 同时发布.NET Core 2.0 Preview 1

软公司一年一度的开发者大会,即“Microsoft Build 2017”在总部西雅图正式开幕。按照官方安排,本次大会将持续 3 天,主题围绕微软公司各项最新技术成果的展示和研讨,包括与微软相关的产业界人士的沟通和互动,以及对未来…

彻底理解HashMap的元素插入原理

转载自 彻底理解HashMap的元素插入原理 HashMap,是Java语言中比较基础也比较重要的一种数据结构,由于其用途广泛,所以,Java的工程师在设计HashMap的时候考虑了很多因素。 通过阅读HashMap的源码,可以学习到很多知识…

使用C#操作XML文件

今天更新一篇技术文章&#xff0c;使用C#实现对XML的操作&#xff1a;首先需要准备一个测试的XML文件&#xff0c;我这边命名为test.xml:文件内容为&#xff1a;<test><id>1</id><name>张三</name><age>18</age><id>2</id&…

Linux使用Jexus托管Asp.Net Core应用程序

第一步 安装.Net Core环境 安装 dotnet 环境参见官方网站 https://www.microsoft.com/net/core。 选择对应的系统版本进行安装。安装完成过后 输入命令查看版本&#xff0c;目前最新版为 1.04&#xff1a; dotnet --version 此时已经可以发布Asp.Net Core应用程序到Linux上…

优秀学生专栏——董超

优秀学生--董超今天回访了下17级优秀学生董超同学&#xff0c;董超同学在校期间一直担任小组组长&#xff0c;平时学习刻苦认真&#xff0c;各个阶段的项目也做的非常优秀&#xff0c;今年5月份左右毕业&#xff0c;所在岗位是开发&#xff0c;目前的薪资在5000左右&#xff0c…

高级开发必须理解的Java中SPI机制

转载自 高级开发必须理解的Java中SPI机制 本文通过探析JDK提供的&#xff0c;在开源项目中比较常用的Java SPI机制&#xff0c;希望给大家在实际开发实践、学习开源项目提供参考。 SPI是什么 SPI全称Service Provider Interface&#xff0c;是Java提供的一套用来被第三方实…

以深圳.NET俱乐部名义 的技术交流会圆满成功

2017年5月13日的深圳下着暴雨&#xff0c;一场以深圳.NET俱乐部名义的.NET技术交流会在微软Build 2017刚闭幕时在罗湖布吉路与翠山路交界处富基PARK国际6F举办&#xff0c;这次交流以微软Build 2017 大会发布的.NET Standard 2.0 Preview1/.NET Core 2.0 Preview 1为契机&#…

关于勒索病毒 Ransom:Win32.WannaCrypt 解决方案的最后一次说明

2017/5/12 晚&#xff0c;勒索软件 Ransom:Win32.WannaCrypt 大面积暴发。比病毒爆发更火的&#xff0c;则是各类关于此病毒的新闻、解决方法在朋友圈等社交媒体的爆发。 其中&#xff0c;有主观善意但客观一知半解的指导&#xff0c;更有夹带私货的安全软件商携各类工具的广告…

C#中的序列化和反序列化案例

序列化&#xff1a;是将对象的状态存储到特定存储介质的过程&#xff0c;也可以说是将对象状态转换为可保持或传输的格式的过程。上面的解释是官方定义&#xff0c;大白话解释就是&#xff0c;将对象以二进制的方式存储在文件中&#xff0c;如果简简单单的将一些数据或者内容存…

浅谈MySQL的B树索引与索引优化

转载自 浅谈MySQL的B树索引与索引优化 MySQL的MyISAM、InnoDB引擎默认均使用B树索引&#xff08;查询时都显示为“BTREE”&#xff09;&#xff0c;本文讨论两个问题&#xff1a; 为什么MySQL等主流数据库选择B树的索引结构&#xff1f; 如何基于索引结构&#xff0c;理解常…