00:00
好,前面呢,我们以普通的spring配置文件的方式配置使用了一下double,那么在我们一般的SSM项目里边,大家就可以将这些配置呢放在我们spring配置文件中,这么来使用就行了。那么接下来呢,我们来测试啊,使用spring boot的方式来整合和配置打到。我们呢,还是创建两个spring BOO应用,一个是provider,一个是好,来右键创建一个spring start project。好,第一个工程呢,我们就叫,哎,我们是spring boot的方式,我呢就以boot开头,User service,我们创建用户服务,它呢是一个provider。好,Come硅谷,我们这个包名呢,点没有?就点点击下一步啊,我们不用呢,选中任何功能模块啊,就是一个普通的应用。好,我们来创建出来,创建出来以后呢,我们将,哎,将我们的这个服务的实现,我来复制过来,服务的实现复制到boot工程里边。
01:07
那么配置呢,我们稍后再来配置这个实现呢,我们要实现这个user service,我们在这个boot工程里边依赖一下咱们这个通用的接口。好,我们来写在这儿,来依赖一下,我们这个叫gmail interface。好,这是我们的provider,我们服务的提供者,同样呢,我们来创建一个服务的消费者。我们这个呢,就叫我们order service。Consumer。那么这个消费者呢,我们来创建出来,哎,消费者呢,我们就创建成一个web工程,我们以web的方式进行测试。
02:00
好,同样的呢,我们把这个消费者里边,我们把通用的这个interface,我们来依赖进来。公共的这个gmail interface。然后呢,我们把这个实现之前我们写的实现呢,我们还是复制过来。这一块的实现复制过来。只复制了这个时间类,我们这个消费者与提供者就好了,好,我们来写上一个ctrler。Ctrler,假设呢,我们这个消费者里边有一个控制器,哎,我们有一个叫o crler。那么它的作用呢,就是来帮我们来查询,写一个注解叫CTRL注解。好CTRL注解,然后呢,它呢就有一个功能。
03:03
就是我们初始化订单,我们写一个先写一个while的初始化订单的。呃,这个方法来发送这个请求,好,我们就叫request mapping。我们就叫in order,那初始化订单呢,我们要用user service,哎,我们这是一个订单服务,我们用user service呢,要拿到所有的这些订单内容,那把这个订单内容呢,我们顺便一返回,我把这个order service重新改一下。改为返回我们这个list的user address。那么这一块的实现呢,我们也改成返回list。User address。我们的order service就来调用我们这个user service,将我们这个返回就行了,我们不打了,Return list。
04:00
那我们呢,现在这个controller就通过调用自己的这个service,写上service。Order service。Order service,我们把它呢自动注入,那么这个order service呢,将我们初始化订单的这个方法传进来,方法呢,需要接受一个user ID,这user ID呢,假设是从。我们这个请求参数中给我们带过来,哎,我们就叫一个参数叫UID,把这个user ID呢传过来,它会查询出哎我们所有的这些订单,我们把这个订单呢返回写到页面上。Return。然后呢,我们将订单的这个数据list user address来返回到页面啊,我们将它呢以的方式写出去,那我们就写一个。瑞bones body注解。好,现在呢,我们这些功能基本写好,但是呢,我们还没有实现调用,我们这有一个controltr来发隐匿order请求,调用order service order service呢来负责远程调用user service将所有的地址返回。
05:16
但是呢,我们这次由于没配置,肯定是远程调用失败的,那接下来怎么配置呢。我们呢,先来配置我们服务提供者,那跟以前的配置步骤其实都是一样的,来记录一下,第一步当然是导入依赖,只不过呢的方式,我们先来导入咱们这个starter,导入我们有一个叫double starter。这呢,官方有为我们写到。然后呢,第二步。再来导入我们这个double的其他依赖,比如我们操作组keeper要用的,我这个先来看starter starter呢,在我们double的这个项目主页,我们来到最后。最后呢,有一个叫double spring的这个整合来打开。
06:04
打开呢,这一块我们的这个说明,说明呢我们就是来导入这个依赖,好,我们把这个依赖呢们来放进user service provider里边。这是我们导入了start依赖。而且呢,大家注意我boot呢,我们用的是204版本,那么这个double start呢,官方文档这就往下说,诶如果boot是2.0几版本,以上是用这个start特020版本,否则呢,1.5级的是用011版本,那我们现在呢是spring boot的2.0,那我们就用这个020版本。同样呢,我们这个double spring BOO start,我们来点开看它给我们导入了什么,诶,它呢为我们也导入了double的262版本,包括zoo keepper也导进来,包括呢,我们操作入keepper用的客户端,哎,也导进来了,那相当于我们暂时不用额外再导什么了,那这就是第一步,我们导入了依赖。
07:05
接下来呢,第二步呢,就是配置,以前我们这个user service呢,我们需要一个配置文件,在这呢配置每一个东西,那么现在有了我们这个start以后。所有的配置文件上的这些东西其实都是可以继续配的,我们在这个application properties中配什么呢?我们以double开始的这些。也就是说以前配置文件里边的每一个这都有相应的标签,我们来看啊,每一个标签double application,那呢会对应double application,每一个标签上的属性呢,都会点进来这些属性,也就是说每一个标签的每个属性都在这儿一一有对应配置就行了,那好,我们就一一配置,第一个是double应用的名字,那我们这还一样叫double application.name。好,Double应用的名字,那以前怎么配的呢?我现在还怎么配。那这是user service,第二个呢,我们以前配了一个叫double注册中心的这个协议,以及注册中心的这个地址,那我们也一样。
08:09
点registry,诶你看注册中心呢,有地址啊,我们可以写全地址,像上边一样也可以呢,先说这个协议以及地址,我们就用下边的。好,CTRLC,我们先写地址,包括呢再来写协议,double.registry来找一下我们这个协议。好,这个协议呢,是用zoo keeper。那么注册中心跟以前一样,对照配置完了,接下来呢,是我们这个通信协议double pro,哎,我们这儿呢有name有port,那同样呢在这配置。Double的,咱们这个协议。然后呢,我们来找一下它的name。那么呢,我们用的还是double协议,诶跟我们这儿配置呢一样,Port呢,20080,哎,double.port。
09:03
咱们这个portt。呢20080。20880好。那我们这个协议名以及端口也配置了,包括呢,我们下边还有咱们这个联想监控中心,那其实也是一样的,诶一个标签对应一个配置double.monitor好。王,我们监控中心的地址来看一下,这个监控中心呢,我们当时在配的时候呢,是用的是协议,让他从注册中心直接发现,所以说呢,我们不配地址。这个属性名叫什么,我们这儿还有什么,我们配的是port,哎,协议我们是registergistry,让他去注册中心自动发现,那这个基本配置呢就好了,额外呢,我们来看这个插中,我们还有我们要暴露哪个服务让别人取来引用,那么我们以前呢,都是配一个double service标签,但是我们后来要暴露的服务特别多,一个一个标签配,那也是很麻烦的,那么double为我们呢,提供了一个注解。
10:06
我们在我们要暴露的这个服务上,我们标上一个注解,什么注解呢,叫at service,哎,注意这个service注解呢,是double加的这个注解,好,你看起来呢,这个名太长了,跟这个冲突了,那感觉麻烦了,好,那我们就把the spring加呢用成component,我们double加的注解呢拿过来。好,我们就是用这个ant service service double加的这个注解,它的作用呢,就是暴露。好,我们只需要标一个and service注解,这个服务呢就暴露过来了,那接下来呢,我们就可以测试一下,我们在别忘了在主程序中还有一个非常重要的叫enable double,我们要开启。基于注解的。Double功能。这样呢,我们启动我们这个服务呢,就会按照我们的配置注册到我们指定的注册中心也能暴露出来,那我们来测试一下。
11:10
走。启动。好,我们发现呢,这个服务呢,现在已经启动,我们来到我们管理控制台来刷新,哎,我们这个服务呢,应用数已经变成了两个,我们来看一下,我们应用就有我们这个user service provider,那这个用户服务呢,就提供过来了,那么还是相同的方式,我们把这个consumer配置出来。好,那么第一步呢,我们还是得先引入我们这个double的starter,依赖好,我们把这个starter呢,我来复制过来。这个我们来到service里边。好,我们先把这个start呢,我们引引入进来,这是第一步,那么第二步呢,接下来我们就来写以前的这个consumer里边的这些配置,我们就一一来写上来就行了啊,我们在application里边,我们来对照一下,第一个呢,就是我们这个应用的名字啊,每天配过double.application name。
12:15
应用的名字,应用的名字呢,我们就叫好带上这个boot吧,Order service,这个消费者,然后呢,接下来我们要联向注册中心,哎,我们直接写全地址的,你也可以试一下double.registry。Address把这个全地址呢复制过来。包括呢,我们这个监控monitor。哦,好,我们把这个监控中心的这个地址,哎,我们不用地址,我们直接是用咱们这个监控中心的协议。这个协议呢,就是让他自己从注册中心去来找监控中心啊,这几个呢,我们基本就要配完了,但是呢,我们以前的这个consumer里边配置,我们要声明调用哪个远程服务的这个接口,包括呢,我们后来要调用的远程服务可也是特别多的,不可能一个一个配置,还是用注解。
13:10
来到order service employment里边。我们呢,就不用auto自动注入这个user service了,Double呢为我们提供了一个注解。Reference。那么reference注解呢,就是帮我们去来远程引用这个user service服务,他自己呢会从注册中心来发现,好这个呢,我们就写上了,同样我们要开启我们这个。基于注解的double功能,我们使用enable double。好,这样写好了以后呢,我们接下来启动我们这个消费者,但是启动之前呢,由于我们这是一个web web应用,它呢,他cat默认在8080端口,而我们这个啊接体的我们这个监控中心已经也在8080端口了,所以说我们在这把默认的Tom k的端口号来改一下serve.port。
14:04
好,我们就用8081吧,好,然后呢,我们来启动我们这个消费者。好,右键我们来启动起来。稍等。好,我们发现呢,这个8081端口我们已经启动了,包括呢,我们来看注册中心,我们来刷新注册中心呢,我们这个service consumer也已经上来了,它是一个消费者我们来访问。LOCALHO8081。来访问什么呢?我们访问这我们写了一个请求order controller叫啊隐匿order方法。访问他。哎,八零八一下呢,有一个隐匿order,然后呢,我们带上u I Du ID呢,就等于我们随便来写一个值,哎,他呢帮我们来查出两个用户的地址信息说明呢,我们这个整合就成功了,其实呢,主要就是三大步,第一步呢,在po文件里边导入我们double start。
15:07
然后呢,第二步就是在我们的application properties中,按照我们原来的配置将它变成这种properties方式的double包配置。接下来第三步就是如果你是要暴露服务,你就用an service注解,如果呢,你是要消费服务,要远程引用,就用an reference就行了。这样呢,我们整个云boot的整合就完成了,包括呢,我们在这儿可以多调用几次,我们的这些监控中心就会有统计记录,我们看一下这个对于user service的调用。好,这一块呢,就会统计,哎,我们之前调了这么多,包括呢,这还有一些图表,图表呢,每隔15分钟会来更新一次,所以说大家当时可能不会有这些信息,得过一会儿啊,那下边呢就可以来测试一下。
我来说两句