springcloud项目里application.yml不加载的坑及解决

 更新时间:2024年07月13日 14:14:22   作者:inthirties  
这篇文章主要介绍了springcloud项目里application.yml不加载的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

在springboot里经常使用application.properties类似的properties作为配置文件

通过配置文件进行springboot项目的配置

例如:

########################## application级别通用配置 ##########################
########################## Feign通用配置 ##########################
##### ribbon配置可以废除了 SpringBoot升级到2.6以后的 使用LoadBalance
## 从注册中心刷新servelist的时间 默认30秒,单位ms
ribbon.ServerListRefreshInterval=15000
## 请求连接的超时时间 默认1秒,单位ms
ribbon.ConnectTimeout=30000
## 请求处理的超时时间 默认1秒,单位ms
ribbon.ReadTimeout=30000
## 对所有操作请求都进行重试,不配置这个MaxAutoRetries不起作用 默认false
#ribbon.OkToRetryOnAllOperations=true
## 对当前实例的重试次数 默认0
ribbon.MaxAutoRetries=0
## 切换实例的重试次数 默认1
ribbon.MaxAutoRetriesNextServer=0

##### nacos(注册中心和配置中心)地址
spring.cloud.nacos.server-addr=${nacos.server-addr}
#spring.cloud.nacos.username=${nacos.username}
#spring.cloud.nacos.password=${nacos.password}

在springboot项目里,这是非常常见的

在springcloud的微服务项目

每个微服务也是使用spingboot作为基础脚手架来搭建项目的

有些项目使用了application.yml或者bootstrap.yml,发现配置项无效

这里的问题,是由于没有引入支持bootstrap.yml的包进来, 可以在项目里引入

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

引入以上的包即可后bootstrap.yml中的配置即可生效

在springboot的环境配置信息中,其配置信息的优先级如下

启动参数 > properties中的配置 > yml中的配置 > configuration Center的配置。

结束语

这个坑是不经意中遇到的,springcloud并不是一个完整的微服务的环境框架,而是一套技术框架加上一个搭建微服务的脚手架,

通过java的包依赖机制,加上使用maven和grandle构建工具而实现通过java完成微服务的实现,所以在很多的技术手段都是通过代码或者配置方式之一的耦合方式实现的。 这样势必会在业务代码中包含了不应该关心的东西,

这个坑如果在启动过程中使用yml的话,是不会踩到了, 当然如果是配置中心比如nacos里的yml格式文件,只要配置中心的配置被加载了,也不会受到影响, 否则,自己在项目里添加的application.yml和bootstrap.yml就是不能加载。

加上了spring-cloud-starter-bootstrap才行, java的模块化是实现上的模块化,springcloud架构下的云生态同样也是实技术化上的模块化,并不是体系上的模块化,这点也就是springcloud在未来的云生态下止步不前的原因。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springBoot热部署、请求转发与重定向步骤详解

    springBoot热部署、请求转发与重定向步骤详解

    这篇文章主要介绍了springBoot热部署、请求转发与重定向,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • java数据结构与算法之马踏棋盘

    java数据结构与算法之马踏棋盘

    这篇文章主要为大家详细介绍了java数据结构与算法之马踏棋盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Java数据结构与算法学习之双向链表

    Java数据结构与算法学习之双向链表

    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。本文将为大家详细介绍双向链表的特点与使用,需要的可以参考一下
    2021-12-12
  • Java+ElasticSearch+Pytorch实现以图搜图功能

    Java+ElasticSearch+Pytorch实现以图搜图功能

    这篇文章主要为大家详细介绍了Java如何利用ElasticSearch和Pytorch实现以图搜图功能,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • springboot项目配置logback日志系统的实现

    springboot项目配置logback日志系统的实现

    这篇文章主要介绍了springboot项目配置logback日志系统的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 解决IDEA项目project包目录消失的问题

    解决IDEA项目project包目录消失的问题

    这篇文章主要介绍了解决IDEA项目project包目录消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Java并发线程池实例分析讲解

    Java并发线程池实例分析讲解

    这篇文章主要介绍了Java并发线程池实例,线程池——控制线程创建、释放,并通过某种策略尝试复用线程去执行任务的一个管理框架,从而实现线程资源与任务之间一种平衡
    2023-02-02
  • Java变量命名规则详解及常见命名错误(建议收藏)

    Java变量命名规则详解及常见命名错误(建议收藏)

    这篇文章主要介绍了Java中变量命名的规则及最佳实践,包括有效字符、大小写敏感性、不能使用保留字、驼峰命名法、描述性命名、特定类型的命名习惯、避免潜在问题、常见命名错误及如何避免等内容,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • Spring Boot使用MyBatis进行两个表的关联

    Spring Boot使用MyBatis进行两个表的关联

    本文主要介绍了Spring Boot使用MyBatis进行两个表的关联,通过实例演示了如何使用MyBatis的XML映射文件和注解实现关联操作,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Springboot mybatis常见配置问题解决

    Springboot mybatis常见配置问题解决

    这篇文章主要介绍了Springboot mybatis常见配置问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论