用过 Spring Boot 的都知道在 Spring Boot 中有如下两种配置文件html
为何会有这两种配置文件呢?你们都清楚它们的区别和具体使用场景吗?java
特地去翻了下 Spring Boot 的官方文档,没有找到关于这两种文件的具体定义,而后再翻了下 Spring Cloud 的官方文档找到了它们的区别。spring
认真阅读了下文档,原文大概意思是这样。微信
Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还能够在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。app
所以,对比 application 配置文件,bootstrap 配置文件具备如下几个特性。微服务
application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。源码分析
bootstrap 配置文件有如下几个应用场景。加密
如下这个截图是一个国外网友问了一个 Spring Cloud 工程师获得的回答。htm
作过 Spring Cloud 微服务的朋友应该对 bootstrap 的应用十分清楚,咱们的微信公众号Java技术栈也有 Spring Cloud 的实战教程,在 Spring 专题中都能看到。
好了,今天的分享就到这里,关注Java技术栈微信公众号,在后台回复:boot,获取栈长整理的更多的 Spring Boot 教程,都是实战干货,如下仅为部分预览。
本文原创首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息。