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中方法的重载与重写举例比较

    Java中方法的重载与重写举例比较

    这篇文章主要给大家介绍了关于Java中方法的重载与重写的相关资料,Java中的方法重载和重写是面向对象编程中的两个重要概念,文中介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Java实现SSL Socket长连接方式

    Java实现SSL Socket长连接方式

    这篇文章主要介绍了Java实现SSL Socket长连接方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • JAVA中的构造函数(方法)

    JAVA中的构造函数(方法)

    这篇文章主要介绍了JAVA中的构造函数(方法),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 关于Java下奇怪的Base64详解

    关于Java下奇怪的Base64详解

    这篇文章主要给大家介绍了关于Java下奇怪的Base64的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • SpringBoot无法连接redis的解决方案

    SpringBoot无法连接redis的解决方案

    这篇文章主要介绍了SpringBoot无法连接redis的解决方案,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-08-08
  • Java截取中英文混合字符串的方法

    Java截取中英文混合字符串的方法

    这篇文章主要为大家详细介绍了Java截取中英文混合字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Mybatis控制台打印SQL语句的两种实现方式

    Mybatis控制台打印SQL语句的两种实现方式

    在使用Mybatis开发时,由于可以动态拼接SQL,当动态SQL拼接块过多,直接从*mapper.xml中找出完整的SQL较难,此时,可以通过两种方法调试出SQL,方法一,将ibatislog4j运行级别调到DEBUG,在控制台打印出ibatis运行的SQL语句
    2024-10-10
  • Redis缓存及热点key问题解决方案

    Redis缓存及热点key问题解决方案

    这篇文章主要介绍了Redis缓存及热点key问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 如何通过XML方式配置AOP过程解析

    如何通过XML方式配置AOP过程解析

    这篇文章主要介绍了如何通过XML方式配置AOP过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • maven项目打jar包并包含所有依赖详细教程

    maven项目打jar包并包含所有依赖详细教程

    maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容,下面这篇文章主要给大家介绍了关于maven项目打jar包并包含所有依赖的相关资料,需要的朋友可以参考下
    2023-05-05

最新评论