Spring Cloud实战小贴士:版本依赖关系

简介: Spring Cloud实战小贴士:版本依赖关系

去年在博客上连载了《Spring Cloud构建微服务架构》的系列博文,虽然这部分内容得到了不少关注者们的支持,但是不得不说这些内容只是适用于Spring Cloud入门阶段对各个组件的初步认识。所以,今年除了将会继续更新《Spring Cloud构建微服务架构》系列的连载之外,准备再开一个新系列:《SpringCloud实战小贴士》,该系列文章内容将会聚焦在下面三个点上:

  • 常见问题的解析
  • 构建使用的技巧
  • 实战设计的思考

开篇:Spring Cloud的版本依赖关系

之前在《聊聊Spring Cloud版本的那些事儿》一文中,我们已经介绍了Spring Cloud版本命名的由来以及版本号的规则,并列举了各个版本的依赖内容,以帮助我们选择合适的版本进行微服务实践。

由于Spring Cloud的发展速度非常快,版本的更新非常频繁,同时成体系化的中文文档与教程又比较缺乏,所以很多初学者在搜索了网上的文章进行Spring Cloud的初次尝试时,经常会因为没有关注它的版本依赖关系而引发一些问题。比如平时被问最多的一个问题,在使用Feign的时候为什么报了如下错误:

org.springframework.core.annotation.AnnotationConfigurationException: Attribute 'value' in annotation [org.springframework.cloud.netflix.feign.FeignClient] must be declared as an @AliasFor [serviceId], not [name].

由于《Spring Cloud构建微服务架构》系列博文的例子都采用了Brixton版本,在介绍《Spring Cloud构建微服务架构(二)服务消费者》中的Feign时候也使用了它,而该版本的基础Spring Boot版本是1.3.x,很多初学者可能因为一些原因,比如:现有应用使用Spring Boot 1.4.x实现或者自身喜欢紧跟潮流,这个时候就会出现上面的问题。

所以,我们在选择Spring Boot与Spring Cloud版本的时候,还是需要尽可能的按照Spring Cloud官方版本依赖关系来使用:

  • Angel版本对应Spring Boot 1.2.x
  • Brixton版本对应Spring Boot 1.3.x
  • Camden版本对应Spring Boot 1.4.x

就个人而言,推荐使用目前最新的Camden版本与Spring Boot 1.4.x的组合。首先,不光光是Spring Boot版本提升带来的一些新功能,另外也由于Spring Cloud的组件版本也有提升,比如Brixton版本中的Spring Cloud Netflix采用了1.1.x,而Camden中采用了1.2.x,这两个版本之间还有不少区别的,在1.2.x中提供了更多实用功能,比如:之前在《为Spring Cloud Ribbon配置请求重试(Camden.SR2+)》一文中提到的RestTemplate的请求重试、关于Zuul的一些头信息优化等。

更多Spring Boot与Spring Cloud学习与实战内容可扫下面的二维码关注我,第一时间获得本博客的更新推送。

目录
相关文章
|
3月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
97 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
3月前
|
存储 缓存 Java
Spring面试必问:手写Spring IoC 循环依赖底层源码剖析
在Spring框架中,IoC(Inversion of Control,控制反转)是一个核心概念,它允许容器管理对象的生命周期和依赖关系。然而,在实际应用中,我们可能会遇到对象间的循环依赖问题。本文将深入探讨Spring如何解决IoC中的循环依赖问题,并通过手写源码的方式,让你对其底层原理有一个全新的认识。
88 2
|
3月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
58 6
|
3月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
93 5
|
3月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
73 5
|
4月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
114 3
|
5月前
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
281 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
6月前
|
缓存 Java Spring
手写Spring Ioc 循环依赖底层源码剖析
在Spring框架中,IoC(控制反转)是一个核心特性,它通过依赖注入(DI)实现了对象间的解耦。然而,在实际开发中,循环依赖是一个常见的问题。
76 4
|
6月前
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
306 2
|
8月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
191 3