SpringBoot无法识别bootstrap.yml小绿叶问题的解决办法

 更新时间:2024年07月12日 11:37:10   作者:彬禹随笔  
一般单独使用 Spring Boot 时,bootstrap.yml 文件一般是不会生效的,也就是没有小绿叶图标,本文给大家介绍了SpringBoot无法识别bootstrap.yml小绿叶问题的解决办法,文中给出了两种解决方案,需要的朋友可以参考下

错误信息

问题定位

一般单独使用 Spring Boot 时,bootstrap.yml 文件一般是不会生效的,也就是没有 小绿叶 图标;如果使用了 Spring Cloud 组件 bootstrap.yml 才会生效,需要引入 spring-cloud-commons-dependencies 这个包依赖。 另外 bootstrap.yml 的加载顺序优先于 application.yml。

解决

方案一,可以引入 Spring Cloud 中的某一组件即可,如 Eureka 或则 Feign 等,因为里面包含 spring-cloud-commons-dependencies 依赖。

 <dependency>
    <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 </dependency>

方案二,单独引入 spring-cloud-commons-dependencies 依赖

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-commons-dependencies</artifactId>
     <version>${spring-cloud-commons.version}</version>     
 </dependency>

拓展:

springboot读取不到bootstrap.yml配置项问题

今天在搭建项目的时候,采用springboot 2.4.6版本,然后添加bootstrap.yml配置文件后突然发现一直读取不到配置。之前在进行项目依赖漏洞版本的升级时有对其进行简单了解。

原因剖析

简单的说就是:由于bootstrap是spring cloud带来的附加品,所以需要有cloud相关的一些配置才能够去正常读取它,否则只会去读取application.yml。

解决方法

如果springboot版本低于2.4.0版本的话,需要在启动类对应的pom里添加依赖

<!-- spring cloud,基于spring cloud才会读取bootstrap.yml  -->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-context</artifactId>
</dependency>

如果springboot版本高于2.4.0版本的话,则在启动类对应的pom里添加依赖

<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

例如我这里用到的是2.4.6版本,那么对应需要加的依赖为:

<!-- spring cloud,基于spring cloud才会读取bootstrap.yml -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
    <version>3.0.3</version>
</dependency>

至此,启动banner和@value("${spring.application.name}")都可以读取到bootstrap.yml文件中的值。

以上就是SpringBoot无法识别bootstrap.yml小绿叶问题的解决办法的详细内容,更多关于SpringBoot无法识别bootstrap.yml的资料请关注脚本之家其它相关文章!

相关文章

  • 详解java装饰模式(Decorator Pattern)

    详解java装饰模式(Decorator Pattern)

    这篇文章主要为大家详细介绍了java装饰模式Decorator Pattern,这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装,对装饰器模式感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 深入理解Java设计模式之解释器模式

    深入理解Java设计模式之解释器模式

    这篇文章主要介绍了JAVA设计模式之解释器模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解
    2021-11-11
  • 一文彻底弄懂Spring Boot自动配置

    一文彻底弄懂Spring Boot自动配置

    在SpringBoot框架中自动配置是其最核心的特性之一,也是"约定优于配置"理念的集中体现,这篇文章主要介绍了Spring Boot自动配置的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • springboot web项目中 Set-Cookie 失败原因及解决办法

    springboot web项目中 Set-Cookie 失败原因及解决办法

    这篇文章主要介绍了springboot web项目中 Set-Cookie 失败原因及解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • 解读maven项目中Tomcat10与JSTL的问题汇总(Debug亲身经历)

    解读maven项目中Tomcat10与JSTL的问题汇总(Debug亲身经历)

    这篇文章主要介绍了解读maven项目中Tomcat10与JSTL的问题汇总(Debug亲身经历),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java常用排序算法及性能测试集合

    Java常用排序算法及性能测试集合

    周末天气不好,在家无事,把常用排序算法理了一遍,收获不小,特写文章纪念。这些算法在学校的时候学过一遍,很多原理都忘记了
    2013-06-06
  • Springboot四种事件监听的实现方式详解

    Springboot四种事件监听的实现方式详解

    这篇文章主要介绍了Springboot四种事件监听的实现方式,事件监听是一种机制,可以定义和触发自定义的事件,以及在应用程序中注册监听器来响应这些事件,需要的朋友可以参考下
    2022-06-06
  • Java基于redis实现分布式锁

    Java基于redis实现分布式锁

    系统的不断扩大,分布式锁是最基本的保障。今天我们介绍通过redis实现分布式锁,感兴趣的朋友可以参考下
    2021-05-05
  • SpringBoot万字爆肝高级配置

    SpringBoot万字爆肝高级配置

    SpringBoot不仅支持常规的properties配置文件,还支持yaml语言的配置文件,yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。application.properties是比较常见的配置文件,SpringBoot的全局配置文件的作用是对一些默认配置的配置值进行修改
    2022-07-07
  • 基于JPA实体类监听器@EntityListeners注解的使用实例

    基于JPA实体类监听器@EntityListeners注解的使用实例

    这篇文章主要介绍了JPA实体类监听器@EntityListeners注解的使用实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论