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学习与实战内容可扫下面的二维码关注我,第一时间获得本博客的更新推送。

目录
相关文章
|
6月前
|
XML Java Nacos
Spring Boot 整合Nacos 版本兼容适配 史上最详细文档
本文介绍SpringBoot整合Nacos的完整流程,涵盖Nacos下载安装、配置中心与服务发现集成、版本兼容性问题及实战配置。重点解决SpringBoot 3.3.0与Nacos版本适配难题,推荐使用Spring Cloud Alibaba方案,并提供项目开源地址供参考学习。
|
6月前
|
应用服务中间件 Nacos nginx
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
本文为 Mac 用户介绍微服务项目环境搭建,含阿里云服务器用 Docker 装 Nacos 1.2.0,本地通过 brew 装 OpenJDK 8、Maven 3.6.1、Redis,Docker 部署 MySQL 5.7 并配字符集,及 Nginx 安装与反向代理设置,附命令与配置步骤。
372 4
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
|
12月前
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
511 0
|
7月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
1305 0
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
12月前
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th="http://www.thymeleaf.org"`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
447 0
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
360 6
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
267 5
|
存储 缓存 Java
Spring面试必问:手写Spring IoC 循环依赖底层源码剖析
在Spring框架中,IoC(Inversion of Control,控制反转)是一个核心概念,它允许容器管理对象的生命周期和依赖关系。然而,在实际应用中,我们可能会遇到对象间的循环依赖问题。本文将深入探讨Spring如何解决IoC中的循环依赖问题,并通过手写源码的方式,让你对其底层原理有一个全新的认识。
343 2

热门文章

最新文章