网站建设的流程步骤,wordpress utf8,毕节网站建设与对策分析,怎么做运营推广转载自 Spring Boot 核心配置文件详解
用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .properties)
为什么会有这两种配置文件呢#xff1f;大家都清楚它们的区别和具体使用场景吗#xff1…转载自 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 专题中都能看到。