从零开始搭建⼀个springCloud项⽬
前⾔:springCloud,相信⼤家已经听过很多次了,现在各种⼤⼤⼩⼩的公司都在使⽤的微服务框架,包括我正在上班公司的项⽬⾥⾯使⽤到的就是springCloud,此⽂仅对于刚⼊⾏不久的⼩⽩,⼤佬们可以指出⾥⾯的不⾜之处,废话不多说,开搞!
1.⾸先搭建⼀个springCloud项⽬,我们需要建⼀个⽗⼯程,为什么要这样呢?因为你的项⽬后期肯定会引⽤到很多的依赖,⽽且依赖的版本也会有很多,我们每建⽴⼀个服务,都要去给新服务⾥⾯添加依赖,那么问题就来了,随着依赖的增多,依赖版本也变得很多,难以管理,尤其当其中有依赖版本变动时,那你就要修改每个服务⾥⾯的版本,所以,我们就把所有的依赖版本全部都放在⽗⼯程中,进⾏依赖的统⼀管理,修改版本的话,只需要在⽗⼯程中修改就可以了。
1.1 如图所⽰,新建⼀个maven⽗⼯程:
点击下⼀步就可以了
如上图所⽰,name是你⼯程的名字,GroupId⼀般是你所在公司的域名,⽐如华为就是com.huawei.it.某某某项⽬名称
点击finish。(这⾥需要注意⼀点,⼤家⾸先要去配置你⾃⼰的maven,然后设置⼀个淘宝镜像,具体⽹上教程很多,不然下载依赖可能会
失败)
因为我们只在⽗⼯程⾥做依赖的管理,所以把src⽬录删除掉,引⼊需要的依赖
这个标签是⽤来管理版本的,如上图我的依赖版本都是写在这个标签⾥⾯
这个标签就是引⼊依赖的标签,引⼊的依赖都写在这个⾥⾯,⽐如我们现在要搭建⼀个springCloud⼯程,就需要引⼊
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.RELEASE</version>
springcloud难学吗<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
这两个依赖
需要注意的是,我们还需要引⼊⼀个springBoot的⽗类版本的jar库,如图
这样,我们的⽗⼯程就搭建好了,接下来就是在这个⼯程下⾯再建⼀个⼦⼯程(就是我们的服务层,我这⾥叫service,我所有的服务都在这个service下⾯管理)
2.,建的过程和上⾯差不多,只是稍微有⼀点点不⼀样
如图所⽰
建完后需要注意的是这⾥
我们要指定我们的打包⽅式为pom,还有就是当我们引⼊依赖的时候,已经不需要指定版本了,版本已经在⽗⼯程中指定过了
<dependencies>
<!--服务注册-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--服务调⽤-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
这是我们所需要的springCloud依赖,第⼀个是nocas,这⾥很多⼈就说,为什么不⽤Eurake,其实功能来说,这两个是⼀样的,都是⽤来注册服务的,⽤法也基本差不多,其实很多公司现在也都在⽤Eurake,但是Netflix这个公司突然宣布Eureka 2.x停⽌开源计划,意思就是不玩了,以后不会更新了,所以出现了nocas,当然了,建议⼤家Eurake也要去学习⼀下,毕竟他现在还是有很多公司,很多项⽬在使⽤。nocas和Eurake⼀样,都要在配置⽂件⾥⾯配置
nacos服务地址

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。