00:00
请大家继续观看上硅谷技术视频,这节课我们继续给大家演示基于SSM的多模块项目案例。前面咱们已经创建过一个SSM的单体架构。现在我们把前面基于SSM的这种单体结构给它拆分成多个项目模块。拆分之后有B层、持久化层、service层、web层。其中外部层有给PC端使用的,每年web还有给移动端使用的。每年mobile web。然后为了便于对整个项目一些基本的配置信息和依赖信息做一个统一的管理,所以我在这里边创建了一个负工程,然后在负工程底下又创建了多个模块,或者说多个子product。比如说创建之后,有每年B层,有每年这句化层,每年service层,每年web层,每年mobile web。然后我就可以在负工程里边对子工程。
01:02
所有的依赖信息做一个统一的管理。当然在复工程中也可以对子工程的一些基本信息,比如说JDK的设置,编码的设置。还有这个坐标的事儿进行一个统一的管理。那接下来咱们就通过代码的方式给大家看一下。OK。由于这个拆分比较简单,所以咱们这里就不代表大家拆分了。我们直接给大家看一下这个代码就可以了。来。如果大家自己要创建的话啊,一定要记得创建了project之后把。ID改成咱们本地安装的那个。然后创建负工程之后选中一个负工程,然后你用Mo创建多个模块,然后把这几个模块给它创建出来就可以了。OK。创建出来之后,咱们就把原来的单体的SSM给它做一个拆分。
02:02
拆分的时候。我们在bin这一层只存放表对应的PU类。所以你会发现它这里只有一个me PU类。它和数据表里边的。Me,这张表是对应的。啊,有ID,有username email。没有问题。然后接着是持久化层。在持久化层。是map接口和对应的映射文件。比如说这是map接口,然后在resources目录下同包同名的映射文件。同时咱们在这里还放了MY全局配置文件以及GBBC.properties文件,里面设置的是数据库连接信息。没有问题。这是持久化层,接着是三层。Service层,咱们主要写业务逻辑代码。然后存放。啊,Service层的接口或者实现类。
03:00
这里还有service层所用到的spring的配置文件,叫application contest点文件,它里边的内容和单体加工中配置的一模一样。啊,比如说也是加载了GDBC的properties。也是啊,配置了数据源信息也是啊。一个配置了三个包。啊,配置了事务管理器,以及使用spring整合MY,整合myab的时候还加载了myab的全局配置文件。OK啊,虽然。MYBT的全局配置文件在持续化层这个模块,但是当咱们项目打成外包之后。这个它也是能加载到的。OK啊,行,然后接着是web层,在web层咱们主要写CTRL层以及web的SL文件等信息。比如说我们在代码这里写一个CTRL层,CTRL层里边可以提供多个接口。
04:00
然后接着咱们这里还有C的配置文件。当他扫描CTRL层以及这个全局异常处理类型信息啊。还配了什么内部资源深度演绎器等等。接着我们这里还提供了外边人。点S码文件。在外边的盘文件里边,我们加载了spring的配置文件,Springc的配置文件以及配置了两个过滤器。总之外边的磁盘文件和单体加工装的那个也是一样的。同理,每年web模块是这么写,那每年mobile web也是这么写,只不过它的CTRL层。啊,业务逻辑代码不太一样,但是他们的配置文件基本上都是一样的。OK。这样咱们也就把咱们原来的单体拆分成这样的。几个模块拆分之后,这个settingid,它是指的是当前product的名字,以及当前product底下子product的。
05:02
名字。啊。然后在拆分的过程中,大家可能最有疑问的是这个buildid文件,这个build grade文件,咱们也给大家看一下。首先,由于负工程,它只是用来管理子工程的版本信息。啊,所以对负工程而言,他不用做实际依赖,所以咱们在负工程这里只设置了一个插件。啊,让他的SC目录起作用的,甚至这个插件你都可以去掉。OK啊行,比如说咱们这里去掉。刷新。来我们也可以执行一个。先。没有问题。接着我们设置一下浮工程的坐标信息。然后接着咱们就在负工程的这个build的点GR文件里边,对所有的子工程进行一个统一的设置。
06:06
比如说。啊,各个子模块都会使用到Java插件,所以咱们这里做一个统一的引入。然后在各个子工程的buildid文件中,咱们就不用写了啊,包括各个子工程的。JDK信息、编码、解码、设置信息以及他们的坐标信息,包括他们的仓库以及他们公共的依赖信息,我们都在这里做了一些设置。这样这里设置了之后,各个子模块的。Build文件啊,都都不用写了。啊,比如说三层也不用写了。还有啊,外部层也不用写了。因为咱们在负工程这里已经对各个子工程的仓库,还有依赖信息都已经做过统一的设置了。
07:00
啊。当然啊。在这里我用的是sub products。啊,是针对当前负工程底下所有当前工程底下所有的子工程进行了一个统一的设置。啊,而且这里设置的依赖是指的各个模块公共的依赖,比如说像unit啊,比如说这句化层会用到,Service层也会用到,外部层也会用到。还有佛经。OK啊。这是公共的一些依赖设置在这,那比如说每个模块所特有的依赖,那我可以通过在负工程的build文件中先定位到。啊,某个子工程,然后啊在这里给他设置,比如说持久化层,它需要拉B,那我在这里给他单独设置一下就可以了。再比如。这个持续化层这个。它需要设置啊,My circle的。MY的以及德鲁伊数据库连接池的。这些我也给他做一个引路。
08:02
OK啊,再一个。这个持久化层它也需要依赖并层,它需要依赖并层,我在这里就给他加一个项目依赖,项目依赖我这里用的是API。用API的目的是为了。是为了这个把持久化层所依赖的病层给他传给啊service层。如果我使用implementation的话,它是不会进行传递的。啊。OK啊行,这是这个同理。咱们在这里如果想要使用API。这个依赖管理方式的话,必须引入一个Java library这个插件啊,因为这个插件它才支持API这种依赖管理方式。同理,三层所独有的依赖,我也是单独的做了一个设置。Service层也需要把依赖的持久化层给它传到CTRL层。所以这里还是用的API,还是引入了Java library这个插件。
09:05
比如说在service层所特有的依赖,比如说啊测试的。啊,JDBC的啊,Spring JD bc的,还有这个切面相关的。OK啊。接着就是针对外部层了,外部层咱们最终会打成外包,所以这里用了一个外插件。然后外部层不需要再把service层传递过来的依赖信息传递给其他模块,所以这里用implementation就可以了。然后在web层所独有的一些依赖,比如说web MC,比如说Jason啊,比如说S。同理。针对PC端的这个web适用配置,那移动端的这个web基本上也是这样的配置。OK啊,最终咱们这个项目就拆分完毕,拆分完毕之后咱们就可以啊。运行一下这个外包模块,或者说mobile外包模块。
10:03
这样我们先做一个部署。把它部署到本地tomcat。然后在这里点那个加号,点阿里ID。这样大家部署之前最好先对这个外包模块重新进行打包。我这里先进行。然后把它打成一个外包。打成外包之后,咱们在这里做一个部署。部署到本地tomcat。然后是每年外保。是这个支持乐部署的这个带有EXPEXP的这个。然后部署之后,比如说我们叫他SSM。然后点apply。
11:00
点OK。然后部署之后,咱们指定使用谷歌浏览器打开,然后在这里啊。指定支持乐启动。或者说支持乐部署。点apply.ok这样启动这个tomcat就可以了。稍等一下启动之后,咱们访问一下这个模块底下的一个接口。比如说启动之后我访问。In下边的list。OK啊,这个tomca启动过程中,它占用的是8080多号,然后向名是SSM,所以咱们直接访问它下边d me下边的list,它返回一个Jason数据给浏览器。是admin下边的list。回车。OK啊,这样咱们就能看到从数据表里边查询的这些数据,说明咱们这个项目拆分是没有问题的。
12:07
当然这些拆分大家也可以啊,参考咱们的课件。不过这些代码咱们也会给到大家。好。这个多模块项目案例的展示,咱们就演示到这。
我来说两句