springboot不加载bootstrap.properties文件

1、首先说一下官网对bootstrap和application两种配置文件的区别:

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

2、实际中,我遇到的情况是,我单独使用的springboot,不会去加载bootstrap命名的配置文件,而会加载application命名的配置文件,和官方解释有点出入,没找到原因。

3、springcloud使用时,如果要使用注册中心一类的配置,比如consul注册,这样就需要使用bootstrap命名的配置文件,这样才能读到相应配置信息。当然如果是一些公共配置,等项目运行起来后都会去加载。

4、看到网上很多人对这俩区别的根本原因是,加载类不同,一个是父级context,一个是context。我猜想,正式因为springboot和springcloud是不同功能的框架,所以在加载配置信息时也是有区别的。所以综合来说,使用springboot就用application,使用springcloud就用bootstrap,也可能会有混合使用的情况,现在会用就行了。若有大神有更详细的讲解,还望指导一下。

5、springboot版本是1.5.2。

原文地址:https://www.cnblogs.com/zxg-blog/p/9894805.html

时间: 2024-08-30 02:07:20

springboot不加载bootstrap.properties文件的相关文章

springboot不加载mapper文件问题解析

1. 场景描述 启动的时候报"springboot available: expected at least 1 bean which qualifies as autowire candidate". 2. 解决方案 该错误一眼看过去,简单说就是bean无效,无法注入,使用的@Autowired或者@Resource注入bean有问题. 才想起来昨天从其他地方新加入一个mapper文件,为了区分现在的mapper,就单独放到一个文件夹里了. 2.1 问题定位 (1)首先确认新建文件夹

SpringMVC加载配置Properties文件的几种方式

最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大, 网上介绍Controller参数绑定.URL映射的文章都很多了,写这篇博客主要总结一下SpringMVC加载配置Properties文件的几种方式 通过读取Config文件的配置例如: Map<String, String> group = ConfigurationManager.GetConfiguration("config1"); this.setBcp

SpringBoot 项目不加载 application.properties 配置文件

起因:新安装的idea第一次运行springboot项目报url错误(Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.),配置文件application.properties中的代码都是灰色的,而且配置文件的图标也不是绿叶子 推测原因是未扫描(没有找到)到这个配置文件 一顿百度之后,借用该帖子(https://www.

springboot 不加载yaml文件的问题

初学Spring Boot, 遇到 配置文件位置对了 ,就是不加载. 看官方文档,说要加入SnakeYaml依赖.于是搜索,加入. 发现还是不行.又继续加.行了,原来我加错了. 上面那个是spring boot官方父项目里配的,居然不行. 下面那个居然是可以的,醉了.

Spring系列之——springboot解析resources.application.properties文件

摘要:本文通过讲解如何解析application.properties属性,介绍了几个注解的运用@Value @ConfigurationProperties @EnableConfigurationProperties @Autowired @ConditionalOnProperty 1 准备 1.1 搭建springboot 1.2 写一个controller类 package com.gbm.controller; import org.springframework.stereotyp

Java实现动态加载读取properties文件

问题: 当我们使用如下语句加载.properties时: ClassLoader classLoader = this.getClass().getClassLoader(); Properties prop = new Properties(); prop.load(classLoader.getResourceAsStream("/Application.properties")); 会发现修改了.properties后,即使重新执行,读入的仍为修改前的参数.此问题的原因在于Cla

springboot中读取自定义properties文件

一.在高版本的springboot中,@ConfigurationProperties(prefix = "wisely2",locations = "classpath:wisely.properties")这个注解不支持了,所以我们要另辟蹊径 二.使用组合式注解: 1.自定义config.properties文件: 1 config.fileServer=/root/jzyp/staticserver/webapps/ROOT/server 2 config.s

springboot使用i18n时properties文件中文乱码

在springboot使用i18n进行国际化文件配置时,文件名为messages_zh_CN.properties的文件中填写中文信息,当使用浏览器进行访问时,出现中文乱码,此时在idea中进行修改setting配置: 注: 修改配置后,该properties配置文件的中文已经乱码了,如果没有把该文件的乱码的中文改回来,用浏览器访问时还是乱码(我就是这样被坑的,改了配置,没有重新去查看该配置文件...)

解密Spring加载的Properties文件

Spring的框架中,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类可以将.properties(key/value形式)文件中 一些动态设定的值(value),在XML中替换为占位该键($key$)的值, .properties文件可以根据客户需求,自定义一些相关的参数,这样的设计可提供程序的灵活性. xml中的配置文件 <bean id="propertyConfigurer" c