00:00
好,那接下来呢,其实按正常来说啊,咱们这个攻击类已经写完了,但是呢,为了后续的一个需求。啊,为了后续的一个需求,然后呢,我们再把这个功能再做一点点。扩展。啊,稍微做一点点扩展,什么意思呢?比如说其实在未来我们的需求当中啊,会有这样的一个点,什么点呢?诶那我招聘里边呢,可能有六个字段,但是呢,其中有一个呢,是属于这种辅助字段,或者一个两个三个对吧?哎,它是属于什么呢?叫。辅助字段啊,也就是说这个字段呢,只是为了帮助我们。去处理数据的,他并不需要真正的进行写出。啊,就是可能会存在这样的字段对吧?诶,那我在计算的过程当中需要这个字段,但是最终呢,我最终不需要,或者过程中的对吧,但招聘里边得有,但是最后呢,我不写出去,那这样的话就会导致什么,你招聘的字段比你最后科林号的字段要多,比如说这边六个,这边五个,那如果说你这个工具类。
01:14
不做任何处理的话。那不完了吗?你。So,个里面只有五个,那你就五个占位符对吧,我是六个字段。我要遍历六次,你只有五个问号,我最后一设置全全错了吗?对吧,所以针对于这种情况呢,我们做一个处理。啊,做一个处理,比如说。假如说这个东西呢,Keyword关键词是我们的辅助存态,我举个例子啊,当然我们这里面并没有对吧,当然第一个需求并没有,我们说了未来可能会有这样的内容啊,假如说这个keyord是这样的一个。字段。啊,假如说它是这样的一个字段好吧。呃,那我们可以怎么做呢?啊,可以怎么做呢?大家有没有同学知道这样的一个注解?
02:10
有没有同学知道这个注解干什么用的?招聘里边这个注解,有没有同学知道这个注解干什么用的?没人知道吗?啊,还得是姚总对吧?啊,这个反思也是他提出来的啊,呃,对了,他就是说在我们招聘进行序列化的时候,不序列化这个字段。
03:02
对吧,跳过这个字段,诶,那跟我们说我们要写出的时候,不写这个字段是不是有点像啊,我们是可以诶也写一个什么注解啊,对吧,啊用这个功能来用注解的方式来扩展我们的一个功能,对吧,用注解来扩展功能,好,那我们呢,就不能叫这个注解了,人家已经用了这个名字了,对吧,比如说我们叫它啊,我们自定义一个注解写它。叫什么呢?Transcend s对吧?好,那我们就定一个这个注解啊,在我们的这个招啊病当中来。定一个。定义一个annotation对吧?好,那这个东西呢,我们加一些注解啊,给它再加一些注解,呃,那第一个呢,是它的一个作用欲。啊,就是因为我们发现有的注解,比如说大家学习过什么controller service,对吧,这样的注解呢,是定义在类上面的,那还有像override,刚才我们看到这个东西对吧,它可能定义在方法上面的,还有刚才那个transcent,那定义在字段上的,啊那你要声明一下你个注解未来用在哪对吧?好,那他给那我们未来用在这个字段上面吧,Sales。
04:18
还有一个呢,就是它的一个生效时机,那我们只要运行时生效就够了,对吧,Longtime。好,那这块就搞定了,那这种注解呢,我们把它称为叫什么叫圆注解,因为它是属于是注解的注解,对吧?数据的数据叫原数据注解的注解,那不就原注解吗?对不对啊,那这两个东西加上好呃,那么这个东西就搞定了吗?那注解写完了。我朱姐写了对吧,我在这上面加了注解,那那个keyword它就不写出去吗。他就能做到这个事儿吗?大家觉得能不能?你觉得这个东西它能不能写出去?
05:26
你觉得这个玩意儿有用吗?没用吧,你凭什么啊,你加了个这个东西,他就不写出去了。对吧,这凭什么啥也没做对吧,你这儿也没做,你在这儿就加了一个注解,那我的为什么第一个注解,我随便定一个注解,那都凭什么实现这个功能呢?对吧,我假如还有注解呢,那那凭什么就就实现了不写出去的这个功能呢?肯定不对,对吧,你起码得在这儿做一些事情,我们想着对吧,或者说你在这儿关于这个注解做一些事儿。是不是?
06:02
是不是?对吧,诶,你得做一些事才可以吧,你啥也不做,你就不写出去吗?怎么可能对吧?所以我们在这儿来做一些事情啊,做什么事呢?因为我们通过反射的方式,不光可以获得这个值,对吧,还能获得什么呢?来。这是获取。值对吧?除了获取值之外,通过反射方式还能获取字段上的注解。什么都能获取到对吧?fail.getno看见没?对吧?啊,当然你可以get丝,就所有的注解都可以拿到,但是我们现在注解是固定的,对吧,我就传一个类型进来不就行了吗?咱们是什么transcent。我们自己写的这个点class对吧,好卡加V得到一个。那我们判断if这玩意儿呢,如果它。
07:04
不等于,那说明这个字段上有这个注解,有这个注解这个字段我就不要了。对吧,那我就直接是不是continue。是不是直接continue?对吧,那这样的话我们的注解才有用吧,你刚才那样就光写了个注解,在上面加了一下,那就有用吗?有用都有鬼了。对吧,怎么可能有用呢,你想想看是不是对吧,他不可能有用啊。对吧,啊,应该是咱们这样,至少得这样去写一下才可以。对吧,好,呃,但是这样写呢,它其实还有一点点问题。啊,问题出在哪啊?有没有同学知道?来,我们举个例子啊。比如说现在呢,我的扎病。啊,是。
08:00
五个字段码啊。加A。BCD。啊,这是招聘啊,呃,我的表呢是AB。De,比如说这几个字段,那我在这上面加了一个注解。对吧,啊,我不想写出去,好,那你看一看这个东西会有什么问题啊,啊,那它呢,是从。I等于零开始变利对吧,它是01234。好,那它它中间呢,是I加一的对吧,它I加一的。它应该是1234吧,对应的应该是12344个位置,是不是啊,应该是这样的一个情况,好呃,那我们来看啊,首先第一个那没问题对吧?啊中间呢,是A加一嘛,它是1234,它是023好第二个呢,也没问题啊,那第三个跳过,那直接跳过那也没问题了,你跳过了那还有什么好说的呢?对吧,直接就没了啊跳过了好那么接下来跳过之后到他到这个D这个字段你呢。
09:08
I对应的是不是三,你三加一你给了谁?你给他。你是不是给他而呢,准备给五,哪有五啊。对吧,这个E是不是准备,如果真的有的话,诶这个怎么就就这样。这个E要给的话,是不是给这个五啊,但是没有五,哎,你这个三也不对啊,你正常的应该这样给呀,对吧?啊,那I加一就不对了呀。是不是,那应该怎么办?这个应该怎么办?我们发现了一个问题啊,就是你这个字段跳过去了,但是你光标是不是还涨了。对吧,本来我I加一一对应的二这个光标对应三对吧,三这个光标对应四啊,那四这个角标呢,角标啊,不是光标,四这个角标呢,对应五对吧,它应该是这样子的才对,但是呢,由于你中间跳过了这个字段,但是我I还会长,那这个怎么办?
10:21
啊,这个应该怎么办?想一想。这种问题我们应该怎么办啊?
11:07
能听明白这个问题吗?就刚才我所说的这个点能不能听明白,能听明白给我扣个一好吗?先把这个问题得搞懂啊,然后再来说这个。角标减一。啊定义注解个数即加加,在定义一个变量没跳过一次加一负值的时候,减去变量。带注解的字段放最后。啊,那这里面有几个方法都可以啊。啊,比如说定义注解的个数这加加对吧,呃,角标减一这个不行,你说的是A减减是吗。于总,你说的是不是I减减?你准备写I减减是不是?
12:04
你是不是准备写这个,在这写一个A减减啊。是的话给我扣个一好吗?这个不行啊,因为它是控制循环的,如果说你在这写I减点,那死循环了。那死循环了,能明白吗?如果这个地方写I减减,那就死循环了。其他同学能不能明白?如果一旦在这儿写了A减减啊,就死循环了。对吧,因为你看刚才呢,你的角标是三三的话准备跳过,跳过之后呢,你减一对吧,跳过之前先减一,又变成二二呢,在循环任务又加一,然后又是三,是不是在这死循环了,对吧?所以你不能在这里边,这是挨减减,这挨加加你你一旦进来了,完了一定是死循环,加一减一不刚好抵消吗?不还是刚才那个值了。对吧,啊,那就毁了,那就毁了,懂吧,啊不行。
13:01
好,那我们可以额外控制一个变量可以对吧,或者像那个七中所说带注解的字段放到最后也可以直接跳过,那没有问题了,因为后续没有字段了,你就不会有这种错位的现象发生了,对吧?啊那。还是用这个用再定一个变量更好一点吧,对于未来我们写招聘的顺序,没有要求的字段,对吧?啊,那如果说你还是这样写,你把加这个。注解的字段放在最后,那其实还有要求对吧,对于这个招聘的顺序还有要求,这样比较麻烦啊,所以呢,我们在这边定一个。等于零。对吧,好,那在这儿呢,干什么事儿呢。七。加加对吧,哎,那你进来之后就相当于定一个注解的个数。对吧,啊,或者你叫outside偏移量也可以啊,这个都无所谓,然后在这边干什么,减去减。往前偏移多少位对吧,定移多少个注解,往前偏移多少位,就这样一个东西吧。
14:04
是不是对吧,这种方式是不是也可以啊对吧?在外面定一个变量,哎,那里边呢,就相当于统计我们注解出现的个数,解出现一个,那你接下来呢,往前一个对吧,注解出现两个,你就往前移两个,就这样的一个现象呗,对吧。
我来说两句