00:00
来大家看,我们把这个controller这个类给它建出来,我们说叫AO的controller。把别的关掉。呃,它呢,我们就用这个普通的controller啊,就不用rest controller,因为它不需要返回这样的阶层数据,那么这里边它要导入的呢,就是我们API里边对外暴露的这个MySQL provider这个接口。这我们就使用这个outward,关于这一点呢,我这个地方啊,我们有三点要说,呃,第一个呢。本地啊,使用我们的这个auto word注解装配远程接口类型,哎,接口实现方法的远程调用。这样看起来就像是调用本地方法一样。
01:04
哎,所以说呢,这个时候就是说这是一,这是一种方法的声明式的一种远程调用啊。哎,我们管这种呃效果啊,或者说这种特性的叫声明是。方法,在声明视角上交用。这就是我们使用了这样的相应的框架啊,给我们带来的好处,呃,这是好处啊,第二点呢,是我们需要注意的是这这这个这个凹wa哈,你为啥凭啥说你outwa注解一标它就能够给导进来啊,这个地方是凭啥啊。凭啥?通过outward,哎这个注解就能够哎去导入。嗯,远程的接口其实是远程接口呢,它对应的B,因为归根到底呢,Outward啊,它需要去导入一个LC容器里边的一个B,然后呢,通过这个bin实现的这个远程调用,这个bin是凭啥能导进来的呢?啊这个时候我们要细说的话呢,在这儿的话有这样几个条件啊,第一个呢,你当前你得是。
02:22
当前的环境下边啊,你得导入我们肺相关的这个家。这一条我们看看他满足不满足。我们现在是在这里边点开dependence。我们呢,依赖了这个APIAPI呢,它依赖了这个open费,哎,所以说呢,这样间接的啊,它里边是有份这一套的这个依赖的,所以这个条件是满足的。第二点。说当前我们的这个微服务,当前微服务的主启动类上,哎是需要标记一个注解的enable client。
03:16
我们看看有没有这个注解,没有,没有的话,我们就得去给它加上啊,加这个注解,开启这个功能,我们才能够啊享受到这个服务啊,后边有个S哈。把这个加上啊,这是这也是一个一个很重要的一个条件。嗯,所以说呢,这一条呢,我们在这儿哈,在写这个。呃,这个aoth的controller之前啊,这个第二步,我们的这个主启动类。哎,我们这儿呢,给标记一个啊,这个注意。一定要标记我们这个。
04:04
这个叫enable clients这个注解。别的都不容易忘啊,这个是很容易忘的啊,忘记以后这个这个程序就会出错。好嘞。主启动类,我们截个图。让大家知道我们操作的这个东西,它在哪儿。好嘞,然后呢,呃,它里边的代码我们拿过来。
05:04
哎,重点是这个注解啊,重点我们要说的是这个注解,然后呢。接下来我们再继续说说,我们在这controller里边之所以它能导入进来啊,还有一个原因。就是说呢。呃,Autowa注解标记的这个接口啊,它的包得符合我们spring boot自动扫描包的一个约定的规则。这个规则是什么呢?就是说如果你没有使用component sc这样的注解去另外专门声明的话。也就是默认情况下,哎,我们的这个主启动类所在的包。哎,以及。
06:01
主启动。累。所在包的子包,哎,都会被自动扫描。啊,这是spring put自动扫描包的这个规则,那我们现在呢,这个咱们来对照一下,那么我们现在呢,当前的这个微服务,它主体动类所在的这个包。看看啊。主,其中所在包是他。然后呢,你这个接口啊,接口所在的包就它啊,所在包是这个。是这个。哎,这个这俩呢,我们要是比一下的话呢,应该是一样的。呀,这个还。这个这个他还对不齐啊,Com at硅谷点per点,其实呢,这个包吧,我现在看哈,他应该给他这儿改一下哈。
07:06
应该给它再加加一个,就是我们习惯上呢这个东西啊,还是放在它的紫包呢会比较好啊。嗯。哇。我们要重命名。啊,就是说他们都会去用到哈,嗯。写个API。好嘞啊。嗯。对就改过来了啊,所以说呢,我们这个相当于是在他的里边啊,在他的里边看一下前边的这个。暴露接口哈。嗯,这个这我们重新去这个图给它重新改一下哈。
08:12
因为这个包名呢,这个之前这个文档里边哈,记得也比较仓促,之前准备的时候有一些呢,不太准确。好嘞。嗯。这个呢,看一下它是第几张图,第五张图。诶是这样哈,API,然后是这个接口啊,它所在的包是这个,哎,所以说呢,那么到我们这儿来。经过我们这样的刚刚这样的一个分析哈,你得满足这些条件才能够被扫描到这儿啊,就是我们现在这个包是它主启动类所在包的子包。
09:08
哎,你这个时候中间不能写错啊,单词也不能写错,单词有写错的也都扫描不到。嗯,这时候这个可能你会说这个,那他这个。都不在一个模块里边。那还会受这个影响吗?不在这个模块里边呢,它依赖了它。这个我们这个API呢,将来就是我们这个user ath的这个什么呀,它的一个包,它里边的一个包啊,所以说这个东西其实。啊,所以这个呢,嗯。和在它以加包的形式给导入到我们这个微服务里边,这样来说的话,和在这工程里边其实是道理是一样的,也就是说呢,我们是因为考虑到哈,你封装抽取出来的暴露接口的这个拈是因为很多工程很多微服务都需要用到才把它抽出来,如果只是给他用的话,如果只是我们这一个consumer用的话,其实也可以不抽出来,也可以就在这里边写他不就在同一个工程里边了。
10:13
啊,所以说大家我们现在呢,拆分了以后啊,它有的时候啊,这个spring去扫描呢,扫描到会扫描到别的model,别的模块里边扫描到,哎,这个时候呢,它其实啊,你要把它当成在一个工程里边是一样的这样来看待,因为它将来会变成它里边的一个架包啊,这个地方大家需要好好的去想一想啊,这个时候也是和我们微是有关系的。你想哈,我们这个spring boot这个微服务呢,它将来生成的一个架包,这个架包是一个大的架包,这个架包里边呢,有一个内置的tomcat。内置的tomcat里边,其实呢,是它的这个微服务真正导出的那个袜包,V服务本身导的袜包,然后我们像这个时候你依赖的这种呢,它是这个袜包里边的一个架包。
11:00
哎,这就是解释了他们之间的这样的一个关系啊。对,我觉得这个地方呢,有必要来,我们来专门来画一个图,来说一下这件事。
我来说两句