00:00
各位同学大家好,刚才呢,咱们回顾了Java中的反射机制,包括里边的各种操作,各位要熟练掌握,那下面呢,咱们就基于Java中的反射机制来实现此里边的IC功能,那咱下面继续来看一下该怎么去做,首先给各位先做一个步骤的分析,然后咱们一步一步进行实现,里边主要用到了Java中的反射机制,再加上注解进行实现。那咱们看一下怎么来做,我这里写一下。它的实现的步骤。或者说实现的过程。也就是说呢,咱们之前的做法,我们是这么做的,比如说咱们加一个注解。咱们有那四个注解,Service加到类上边,对象可以创建,然后咱们用或者resource能完成使用注入,但是现在我自己写个注解,让它也能实现相似的功能,那咱们看怎么来做,我写一下详细的步骤。
01:06
首先我们的第一步啊,咱们先创建一个新的一个子模块,然后在子模块中来写我们的具体部分,这是第一步,然后子模块一会儿咱创建,我就叫硅谷。这是我们的第一部分。我先讲到这里。然后这步之后,我们在里边肯定要引入它的依赖,然后这个之后呢,第二步咱们创建一些相关的测试类。小,这里第二步。创建测试类,包括service,包括DAO。咱们把它的接口和实验类都进行创建,为了后面测试,后面咱就基于注解来创建对象,包括注入属性,Service里边注入DAO,这是我们的第二步操作。然后这个之后我们到第三步干什么呢?咱们创建两个注解,对是两个注解,之前是损中自带的,咱现在自己来写两个注解,比如说我约定啊,第一个注解,假如说咱叫B。
02:13
用这个注解呢,咱完成对象创建,然后第二个注解,比如说我叫这个Di,用它完成属性的注入,咱们把两个注解建行创建,在此里边有它的注解,咱们自己随便起两个名字,用它来实现我们写这个LC的功能,这是我们的第三步,然后这步之后我们继续来看。第四步我们做什么呢?给大家来说明一下啊,大家注意啊,咱们之前写代码之后,最终都要进行测试,而每次测试的时候呢,咱们都会写上这么一个代码,Application上对象,最终加载配置文件,创建对象,大家注意这个结构,这结构咱再回顾一下啊,找一下我们之前讲过这个IOC部分。
03:03
大家看啊,在IOC里边呢,它用到了一个对象b factor,是基于工厂模式反对象,而我们现在用的这个叫va contact是它一个子接口,在这接口里边有更多的实现类,它针对不同场景做不同功能,所以咱目前也这么来做。那我写一下啊,我们做法就是第四步,咱们也创建一个B的这个容器的接口。比如这个接口啊,咱们也那个OB,当然你也可以叫别的名字啊,咱为了看着方便,我也叫这个名字。Obligation。Context。这是我们第四步,建一个容器的接口,然后在里边定义方法,因为它用的就是工厂这种模式,所以定义方法中就是返回你那个对象。这个啊是咱们写到第四步,然后这步之后我们到第五步。
04:03
因为它是一个口,所以咱们下这个B容这场景似刚才到了contact是一个接口,然后里边有不同的实验类,针对不同的场景用这个实验类,那咱们就实现接口,创建它一个具体实现类,然后在实现类中实现我们的功能啊,包括在里边。咱们会返回我们的这个对象。就把方法给他完善,然后第二部分咱们再设置一下,或者说根据它那个包。要规则去。加载我们的B。啊,也就说咱们通俗说的设置包的扫描规则,比如我的包是com点,那咱就扫描这个包里边和他的包哪些类上边,比如有这个艾特并in注解,有的话把它这个对象通过反射进行创建,设是它的这个规则。
05:03
我在里边写的详细点啊,就是比如说咱们的包。是com.at硅谷,那咱们怎么做呢?我这里写一下啊,我们的做法就是咱就去。说的通俗点啊,就是扫描com at硅谷这个包和它的这个子包。啊子里边的所有的类,看这个类的上边是否有我们这个叫艾特B的这个注解,如果有的话,那就把这个类通过反射创建它的对象,或是通过反射进行实例化。实例化,这是我们要做的事情,所以咱们要想它这个怎么规则,用反射把对象进行创建。
06:04
以上就是咱们说的一个基本的步骤,当然后面还有一个注入跟它过程类似,咱先说这个,并创建一个基本过程给各位再重复一遍啊,然后咱们开始进行实现,首先第一步咱们建个子模块,然后第二步我们创建测试类service do,包括里边接口实现内,为了后面来完成对象创建和注入。第三步建两个注解,一个艾特B用于建对象,一个Di用于使用注入,但是这个注解名字我是随便起的。然后第四步咱们建一个B容器接口,跟S中类似OB contact,因为它用的是工厂定义这个方法来对象。第五步,实现这个接口,咱写个实验类做具体实现。在实验类中,第一步反应对象,第二步根据包的扫描规则去加载B,就是我说的规则,扫描当前包及其子包里边所有类,如果类上边有艾特并注解,那把这个类通过反射进行实例化。
07:07
以上就是咱说的一个基本的步骤。这个我们说到这里。
我来说两句