00:00
下边呢,我们来说一下这个posy接口,这个接口呢,实际上就是我们这个persony继承的这个接口,说一下它,那么在具体讲这个接口之前,我们先对前面那个程序做一个小的修正。Person,我们注意到这个bos是不是写错了呀,给他改过来。CTRLC。啊,把这去掉是吧,放名都不对。Get a settle。他也需要改一下。对应的,我还应该去改那个数据表吧,我得把那个数据表的列名也改成B,这个已经改过了,那同时。我向这个数据表里边插入了一些记录,以备我们后边测试的时候使用。我们在后边讲的时候,我们也会讲到一个批量处理的方法,那我们一下子可以插入N多条记录,那实际上呢,我这个记录就是通过程序进行插入的那个方法,我们后边再说。
01:13
我们现在我们来说这个。Reps。就是我们这个接口。继承的这个接口,我点一下它。诶,我们注意到这貌似是一个空接口,对吧,我去关联一下这个源代码。我们看一下这个包呢,是spring comes。点开。这个spring coms点他。点开,我们看到这真的是一个空接口。大家回想一下,以前有没有接触过这个空接口呢?有没有接触过?实际上这个zable是不是就是一个空接口啊。
02:00
当我们一个类。实现这个空接口,比方说实现这个的话,它就可以被序列化跟反序列化吧。那么当我们现在我们定义这个接口,实现这个report接口以后的话,它会有哪些神奇的功能呢?我们来说一下第一个问题。Rest是一个空接口,G是一个标记接口。Geo。二若我们定义的接口。继承了。Repository则该接口。会被LC容器识别为一个reps病。
03:11
纳入到LC容器中。进而。可以在该接口中定义满足。一定。规范的方法。我们看到,哎,我们这个接口呢,继承了这个PY,这个时候这个bin实际上被纳入到了IOC容器里边。同学说这是个接口,你怎么带呀?那实际上LC容器里边放的是这个接口。的一个实现类,那个实现类呢。
04:02
Spring帮我们实现的,我们不用管它,我们不用管它,你看这块有一个S对吧,我这个测试程序里边,我也可以把这个并给它获取出来,它实际上是一个代理person report.get.get name找一个你看一下就知道了。对吧,哎,这是一个代理。我们反过头来说这个PY接口,那么我们这个接口继承它以后的话,它就会成为一个tri bin,它可以被IC容器识别,然后我们可以在这个接口里边声明方法。其实这个声明方法呀,并不是随便声明的,声明的方法需要满足一定的条件,满足什么条件呢?这个下节课说,这节课先来说这个Y接口。
05:06
那我们看到看到它是怎么被纳入到IOC容器里边呢?实际上需要满足两个条件。我们找到LC容器这个配置,大家注意看这个base package置。到了这个是不是刚好是这个包啊,这个包或者是这个包下。继承re report接口的这个bin就可以被识别为。Springet的repsy b。你看这个person怎么不是呢,因为他。并没有去。继承我这个接口实际上应该是实现了是吧,他并并没有去实现这个接口,那我如果要是把它去掉的话。保存,你注意看。这块这个S呢就应该去掉了是吧,但我这个编译的效果这个没有出来,不过你程序跑的话跑不起来了。
06:02
他说没有这个病。对吧,好的。加上,那实际上我们除了去继承这个接口的话,我们也可以通过注解的方式,把我们这个接口给它标记为reportri。实际上也可以。通过一个注解,这个注解叫reporter DeFinition。注解来替代继承PRY接口,好,我们把这个去掉,大家看一眼,那我在继承这个接口的时候呢,我需要从中两个泛型,一个是你处理持久化类的那个类型,还有一个是。
07:00
组件的类型,那对应的这里边儿的话呢,有两个属性,一个叫。高门class。那么这个是p.class还有一个什么呀?ID class等于。点class control o大家看一样跑起来没问题。所以说实际上是有两种方式。在这哈,一种方式是继承这个reporty,另外一种方式是使用reporty DeFinition这个注解,这两个呢,用哪一个都可以。用哪一个都可以好了。实际上。这个reporty里边并没有提供任何方法,这个reporty接口呢,还有一些子接口,我们看一下还有哪些子接口,那我把这个呢,我再调整一下,我让它去记成extend repository。
08:13
Person in control o选中re。CTRLT。我们看到了吧,诶,它有这么多子接口,其中还有两个实心类。我们简单的说一下。有一个呢,叫cru rudpsy,这里边实现了一种征删改查的方法。Page and sorting reposy,它继承自cru rud reposy,里边有关于分页和排序的方法,就是我们前边我们讲JDBC在harmle的时候,那个分页在spring data看来就会特别的简单,后边的话呢,我们也会详细说,然后呢,还有一个jpa report reporty,它是pari and sorting reportsy的一个子接口,这里边又添加了一些常用的方法。
09:09
当然,如果cru rud reportsity painting and sorting reportsity JP reportsit的方法还不够用的话,我们还可以去自己定义reps。那最后呢,实际上还有一个叫GPA specification exe这个类啊,并不在我们report这个体系下。你看这个名你就知道是吧。它是什么呀?GPA specification exeor,这是关于GPA curric查询的。我们回头,我们要实现一个通用的带查询条件的分页,就用它。那这块我们看的c rudpsity page and sorting repsy jpsity,以及自定义的repsity,以及gpation ex在后续我们都会讲到。
我来说两句