一步步学习springcloud之总览(一)

一步步学习springcloud之总览(一)

最近学习了spring security oauth2的一些知识,发现很多别人写的代码都多少带上了springcloud的身影。决定好好学习一下springcloud。之前使用过dubbo。对于springcloud也只有耳闻和看过一些教程,没有实际上手过。这次就来好好学习一下,自己也动动手。

springcloud和springboot

springboot是快速构建spring应用的脚手架,同样也是构建springcloud的脚手架。我的理解有点像nodejs中vue和vue-cli的关系。但是有有些不同的是,springcloud好像必须使用springboot进行构建。所以可以说springcloud项目都是springboot项目。

关于版本

我没有仔细去研究springcloud的版本更新情况,但是从网上的教程和一些问答看到springcloud和springboot的版本是有一些关联的。

比如我之前使用

组件 版本
springcloud Hoxton.SR4
springboot 2.1.4.RELEASE

就出现了ClassNotFoundException。

查找解决方案的时候,别人给的建议就是使用下面的版本搭配。这个的学习过程中我也是使用这个版本搭配。

组件 版本
springcloud Hoxton.SR3
springboot 2.2.5.RELEASE

另外springcloud和springboot的升级过程中也有很多依赖项目名称的变化。如果自己项目使用的版本和网络上面示例使用的版本差距很大,那么很多情况下一些配置也都不能直接使用。

比如项目中的maven依赖

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

在有些教程中使用的是下面这个配置。(在我使用的springcloud里面就不能使用这个依赖)

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

所以学习springcloud的时候,关于springcloud和springboot的版本要先确定好。

这里有个方法,就是使用下面要提到的Spring initializr的初始化工具,选择好springboot版本,添加springcloud依赖,可以看下pom文件(或者build.gradle文件)官方给你的springboot和springcloud版本建议是啥。

项目构建

目前java构建项目比较好也比较流行的是maven和gradle。springboot项目构建,很多会使用Spring initializr的初始化工具。通过这个工具可以快速配置一个有相关依赖的springboot项目(可以选择使用maven或者gradle构建)。

但是作为初学者,对于Spring initializr中很多组件都不了解的情况下,使用时不知道应该勾选哪些组件。所以个人比较倾向于在普通maven项目的基础上增加springcloud和springboot的相关配置,来构建一个springcloud应用。

猜你喜欢

转载自www.cnblogs.com/jimmyfan/p/12800575.html
今日推荐