springboot2.0+springcloud+eureka分布式项目搭建(附加源码

1、相关环境

开发工具:idea;

springboot版本:2.1.13

springcloud版本:Finchley.SR1(注意,此处使用的是springboot2.0.x以上的版本,而springcloud对应的版本为Finchley,且springboot2.0相比于springboot1.5.x来说,maven依赖变化较大,这个问题在搭建分布式项目时我会做出说明)

中间件:eureka、fegin(其他中间件比如hystrix、ribbon等后续再添加);

2、项目创建

说明:此处我们会创建一个父项目,其他子项目(生产者、消费者、注册中心)均以module的形式在展示在项目目录中,首先比较符合当前开发规范,其次也比较方便;

1. 创建父项目:springbootdemo,具体截图如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第1张图片

注意:此处可以选择一个web依赖,一个Eureka Server依赖

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第2张图片

在Idea里我将无关的文件全部隐藏了,另外将test给删除了,具体文件目录如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第3张图片

pom.xml 做个修改,具体pom.xml配置如下::

说明:在创建当前项目的时候选择了springcloud的eureka,但是创建结束之后我发现springcloud的版本号为Greenwich.SR1 这个我没有细查,所以就直接用下面的配置文件吧,保证是没有问题的;

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第4张图片

父项目创建完毕;

2.创建子项目——公共entity项目 springbootdemo-entity

项目结构如下:entity子项目中主要有两个entity,包名为:

com.example.springbootdemoentity.entity;

entity中的字段自己随便写,我的内容如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第5张图片

entity子项目创建结束!!!

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第6张图片

3.创建子项目——注册中心 springbootdemo-eureka

项目目录如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第7张图片

修改pom.xml,添加eureka依赖,此处需要注意的是要添加springcloud的依赖管理,版本号为Finchley.SR1

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第8张图片

修改application.properties为application.yml,并添加如下配置:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第9张图片

修改启动文件,添加@EnableEurekaServer注解,表示这个是一个Eureka注册中心

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第10张图片

启动eureka项目,并访问:

http://localhost:5060/eureka ,出现如下页面表示Eureka项目创建成功!

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第11张图片

4.创建子项目——生产者 springbootdemo-product

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第12张图片

说明:此处删除无用的test文件夹,并将application.properties改为application.yml;pom.xml文件修改:

修改该工程的父依赖:原来为:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第13张图片

具体配置如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第14张图片

修改resources下的application.properties为application.yml并添加如下配置:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第15张图片

创建接口Controller

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第16张图片

启动类添加注解:添加@EnableEurekaClient和EnableFeginClients注解

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第17张图片

启动项目,查看是否注册到eureka注册中心上:下图所示:服务已经注册到注册中心中;

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第18张图片

访问项目路径,查看RestController接口是否能正确返回数据

http://localhost:7002/product/getProduct,如下图,接口能正确返回数据

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第19张图片

至此,Product工程创建结束

5.创建子项目——消费者 springbootdemo-cousumer

module的创建过程同product工程的创建过程,此处就不细写了,主要写一下相关的配置文件;

pom.xml文件修改:

修改parent父依赖为:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第20张图片

添加依赖如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第21张图片

修改application.properties 为application.yml并添加如下配置:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第22张图片

启动类添加注解:@EnableEurekaClient和@EnableEurekaClient

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第23张图片

整合fegin步骤:

第一步:启动类中添加注解:@EnableFeignClients,表示开启fegin客户端(该操作我们已经在上面搞定)

第二步:创建service接口,在接口的类名称上指明服务名称(application name)和服务的应用名称(contest-path),并在接口中添加方法,方法名上添加 @RequestMapping注解,注解的value就是你要访问的方法的路径;并写明返回值和参数(如果有参数的话,需要使用@RequestParam标注参数名称),具体如下:

下图为我服务的接口相关信息:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第24张图片

fegin调用接口信息如下:

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第25张图片

第三步:创建controller,注入service,并进行调用;

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第26张图片

启动项目,查看consumer项目是否被注册到注册中心,并访问getConsumer接口;

服务已经被注册到注册中心;

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第27张图片

访问服务:

http://localhost:7001/consumer/getConsumer;如下图所示,已经能够使用fegin调用服务的接口了;

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第28张图片

源码已经全部上传

springboot2.0+springcloud+eureka分布式项目搭建(附加源码_第29张图片

需要领取源码的朋友私信我【源码】二字即可

你可能感兴趣的:(springboot2.0+springcloud+eureka分布式项目搭建(附加源码)