00:00
那我们呢,再来看第三种用法。第三种方法还是在mport里边来能写import select,还能写一个叫import being register,我们点进去,这也是一个口说呢,我们还能传它,那么它的作用呢,就是我们啊点进去我们来看一下它呢有一个方法叫register being DeFinitions,比如说呢,通过调这个啊方法,我们可以给容器中自己来添加一些组件,这里边呢有两个传参,第一个是呢,当前类的一些注解信息,第二个呢,是咱们这个being DeFinitionry,也就说呢,我们这个叫being定义的注册类,所有的定义都在这注册啊,那么我们可以来。通过使用它给容器中注册一个B,那我们来试一下。我来写一个他的史前类。
01:01
你有一个class,比如我们就叫my IM register,好,那么呢,来实现。这个接口。好,我们来添加方法,这个呢是一个空方法,空方法里边呢有。两个参数,第一个参数跟我们之前一样,这是呢,当前类的注解信息以及当前类的其他信息都能获取到,还有第二个叫这叫定义的注册类。Being DeFinition注册类,也就是说呢,我们把所有把所有需要添加到容器中的B,那么呢,我们可以啊,调用咱们这个b DeFinition registerg。
02:01
方法我们可以注册进来,哎,它有一个专门的方法叫register being DeFinition,就说呢,我们可以自定义来注册这些东西,好来点进来。我调这个方法,比如说呢,调用咱们这个方法自定义手手动注册是吧,那么呢,我们来就调用一下这个方法,我们先把它。写在my con里边,好比说呢,这是利用select的方式,那么呢,我们再来利用一个叫my DeFinition的方式,好,我们在这里边来写逻辑。那么呢,比如再来一个类吧,比如呢,来一个类叫rainbow。彩虹是吧,好,我们把这个呢注册在容器中,那么呢,我在这我来写逻辑,那我怎么写呢?我可以这样,我先用它GRY,我可以先判断一下contents在IOC容器中是否有咱们这个color,首先呢,我们看是否有红色。
03:24
包括呢,我们来做两个判断。是否有红色跟。绿色啊,我们这有一个蓝色是吧,那就是否有红色跟蓝色,如果有的话啊,如果有的话,如果这俩都有。那么呢,我们就添加上一个and。如果这俩都有,我们就自定义的给容器中来添加,哎,前面呢是查询容器中,而我们这个呢,我们就添加们来这呢,有一个叫register being finish这块呢,有一个being名字,我们添加一个,我们就叫rainb,你看我们以前用import添加be的时候呢,那些be的名都是全类名,现在呢,我们就可以自定义一个be名,指定be名,包括呢,这个being的定义信息,哎,这个being定义信息呢,它需要传一个叫being DeFinition,那么呢。
04:28
这个being DeFinition是什么?点进去being DeFinition好,这呢是一个接口打开,在这个接口里边呢,我们来用这个实现,有一个叫我们来往下翻,叫root。Conversation。哎,创建一个new,一个root being finish,哎,我们这个being的类型是什么?哎,这些being的,这就是一个being的定义信息,比如呢,我们要把这个rainbow注册进去,那么我们说我们要注册的这个be的类型叫rainbow,好就放一个它就行了,然后呢,B应的名就叫rain宝,然后呢,我们通过调用这个方法给它注册进去,啊这是这种,我们来测试一下,看容器中会不会有rain宝呢?
05:19
大家觉得会有吗?哎,应该肯定不会有吧,我们来看一下,哎,也就是说呢,因为我们容器中有瑞的录,但是呢,它的名不叫小瑞的,也不叫blue,所以说呢,我们在这一块的判断,我们是说你容器中一定要有这个read和这个blue,那么呢,我们就来把这个判断我改一下,只要你有这个。啊,我们按照这个判断啊,我们之前注册的它的组件ID叫这么长,以及这个录它是全类名,也就说我们用import默认的方式是全类名,那么呢,现在判断容器中就会有blue和read,那么呢,如果有,我就给容器中注册一个rainbow。
06:04
来试一下。走。哎,我们看到这一块呢,会有。有一个read,有一个blue,那么与此打印的下边还有一个什么rain宝,而这个rain宝的定义呢,是我们在这手动注册的,通过调用being registered register being方法,我们来注册一个B,注册一个B,然后呢,并且呢,指定上一个并名,哎我们这块是指定B名,这上边呢,这是啊指定病应的定义信息,所谓的being应定义信息就是病应的类型啊等等,还有be音的SCO,哎作用域都可以在这指定,我们就可以在这指定好,这就是哎我们说的第最后一种我们手工注册的方式。
07:07
哎,我们用了这个import register,我们这个手动注册B,注册B到容器中,好这就是呃,我们import的三种用法在里边呢,Import letter啊用的非常多,所以说呢,以后在spring boot,我们走源码看的时候呢,看到这一块,那大家也就应该非常清楚了。它呢,就是我们,哎可以经过一系列的判断,哎得到,那最终给容器中要添加哪些鼻音,我们把这些病音的全里面返回过来就行。
我来说两句