00:00
各位同学大家好,下面我们继续来学习my plus,下面呢给大家来演示my plus对service层的封装,那这部分我们要演示什么?给各位详细说明一下。各位同学啊,应该都清楚,咱们开发中的一般按照的是咱们这种三层结构,或者说三层模式进开发,那三层呢,第一层我们叫做controller部分。或者叫外部层,然后第二层我们叫这个。Service层,第三层是不是叫do层或者叫。咱们有三层结构,而大家注意啊,我们刚才演示的过程是不是都是map部分,就是MP对map层做的封装,下面给大家演示service层,我这里强调啊,MP它对这个map的层的部分进行了封装,而MP对这个service层也完成了封装。说的最简单点,如果咱写代码,我CTRL里边是不是要注入service调service service里边是不是要调map,这个时候如果说你只想实现最基本的单表的自然改查操作,那咱们这里边service到map过程咱都不需要写了,它里边已经封装好了,我们只需要在CTRL里边做个调用就可以了,这就是他的一个特点,所以下面给大家讲解它对service层是怎么进行封装的,包括这个要调。
01:40
最终咱们该怎么去做就来说这个过程,但实际开发中很简单,只需要CTRL里边注入service,然后就能实现对单表的自改操作,这个过程他已经帮我们做到了,实际中咱都不需要编写了,那下面咱们说一下这个该怎么去做。首先我们直接看代码,怎么来写,第一步呢,我在这个项目中呢,咱们先建一个包,这个包就是service。
02:09
创建,然后创建之后呢,在service里边,首先我先建一个interface,咱们起个名字就叫service interface,这是第一个,然后创建之后,我们再创建它的一个实现类,我们写个ML,然后建它的实现类。User。Service实现类,让他实现我们这个interface。然后别忘记啊,在实验类上边需要加上一个注解,Service。所以现在大家看啊,这service部分是不是就完成了,完成之后呢,如果按照咱们之前的原始方式,我在service层里边是不是要注入这个map,可以这么来实现,但是现在MP它不仅对map层做了封装,你看啊,直接继承就可以了,对色层也做了封装,那怎么用,咱们也是直接继承可以了,那我写一下啊,首先让interface先继承一个,它叫做I service。
03:12
加上实体类user,这是第一部分,然后第二个让咱的实现类继续继承,这个名字叫service m PL,然后在里边注意啊,有两部分咱先写一会,我会详细解释,第一部分加上你的map,咱们是user map,第二个加上实体类,现在这么做就完成了,然后咱们看啊,它在service里边,I是苞米豆中的,把它的增删改查操作给咱们。都已经封装了。然后咱直接调就可以了,包括你看在这里边我们只要继承,然后它里边也有各种方法,这是他给我们做到的,然后这过程中呢,咱之前提到啊,如果说service要调map,按照原始方式在里边咱是不是要注入map,那注入方式各位都会out private。
04:13
加上一个叫user map可以注入,这是我们原始方式,但是目前呢,这个过程也不需要了,他给咱们已经做过了,那怎么做的,给大家说明一下啊。这个给各位先截个图,咱们看他是怎么帮我们注入这个过程。我在图上给大家画一下。首先啊,你看啊,我们写的时候呢,在里边泛型中有两部分,一个是你的这个map,还有一个是你这个实体类,这是咱们继承的过程,然后咱看它的源码中4MPL里边咱们打开啊,大家看啊里边这个代码。给各位截出来,咱们具体看一下啊,咱就比较来看就能看懂。
05:05
首先大家看啊,ML里边它有两部分泛型参数,第一个就是M,就这个。跟它颜色一致啊,然后第二个是这个T,所以咱们对比来看,这个T对应的是不是就是U色。然后这个M对应的是不是就是我们这个map是不是这个对应,然后你看啊,它下面核心这个代码。奥拓把M给我们是不是就已经注进来了,所以你这里边你看啊,你传user map,他把u map注入,你传别的map,他把别的map帮你注入,所以这个过程咱就不需要做了,它里边已经帮我们实现出来了,我课件中有这么写的,所以记住记住它这个特点。然后这过程中,咱们把这个选完之后,最后再来做一个调用,看这过程怎么做,那我们来调用一下啊。首先我在这个测试里边,咱为了明确,我再来创建一个类,这个类我起个名字啊,就叫做service test DEMO就是这个测试。
06:09
然后在里边怎么写这些,为了明确,我先都去掉啊,咱重新来写,全都拿掉。先都给它删掉,然后咱们写一下啊,首先第一个。因为现在我这里边要用service操作,最后把service给套进来注入。User。Service。然后注入之后,下面咱们调用中的方法做实现,比如现在我就简单写一个查询所有的这么一个方法。咱来快速写一下啊。很简单,User里边找到它的方法,这一方法叫list,然后得到就是我们的集合,把集合咱们直接做个输出。这样的话就可以了,这list方法是MP在service层里边给我们封装好的,那咱们先执行一下,看一下效果对不对,然后咱通过源码再看一下例似方法它是怎么给我们封装的,也就是说咱看一下它是怎么帮我们去掉map的过程的。
07:13
咱们看啊,数据没有错,都查出来了,那咱看一下啊,我把里边这个例子方法打开。这个方法他又调了一次这个方法,然后你看啊,这个方法中这个作用,他得到当前这个贝斯map,然后帮我们去调了list,咱之前自己写map是调了他,目前他帮我们实验出来了,然后这个map刚才咱也看到他已经帮我们做了这么一个注入。啊,这个已经现出来了。所以说以上啊,就是MP对service封装,也就是说的最简单点,咱们写代码的时候,如果说你只是实现对单表的增删卡操作,咱们只需要在CTR里边注入service进行调用可以了,Service到map过程它已经帮我们实验出来了,不需要我们写啊,当然如果你有复杂操作,那肯定需要写,但是基本的自然操作里边都做到了。
08:14
这也是我们为什么用MP一个最大优势,可以极大提高我们的开发效率。所以以上啊,就是针对这个MP里边对swis封装一个说明,大家把这过程给他记住。
我来说两句