00:00
好,上节课呢,我们说了一下,按conditional啊,我们按照条件判断给容器中注册组件,那么呢,我们接下来回先回顾一下我们给容器中注册组件的这些方式,有几种方式呢?们之前说过一种方式,我们默认的使用包扫描,加上呢,我们给组件标注注解,那么标注注解就像是我们这些controller或者service或者。咱们这个S,或者标注and component,这是第一种方式,那么这种方式呢,哎,它比较有局限,也就说呢,我们比如我们自己写的类,我们能把这些controller service之类的这些注解,哎,我们能加在这,那不是我们自己写的类,那比如我们导入的第三方包,如果人家没加这些注解,那我们就利用第二种方式,我们是使用at b,比如说呢,第一种方式局限于我们自己写的,然后自己写的类呢,我们方便呢,加上这注解,用一个包扫描,那第二种方式呢,我们就是导入的第三方包里边的组件,里边的组件呢,如果它没有加这些注解,那我们还想加在容器中,我们就可以用B,哎,我们来创建一个组件,把它加在容器中,那么呢。
01:35
Spring还为我们提供了一种方式叫at up import,这import呢就是导入,如果我们以前用at b的方式来导入组件,其实这是可以的啊,只不过呢,这个我们每次如果只是导一个简单的组件,就用无参构造器创一个对象等等这么简单的事情啊,每次这么来导的话,哎,可能有点麻烦,那接下来怎么办呢?哎,我们用这个import,它呢,直接快速的给容器中导入一个组,向总向好,我们来举一个例子,比如呢,啊,我们这有一个组件,组件名呢,比如我们就叫是吧,这个组件呢,我也不拟第三方了,我们就写一个它啊我们利用import的方式,好,现在呢,我们如果在IOC容器中,哎,来打印容器中的所有组件,是没有这个color的。
02:35
我们可以先测一测,好W了一个what来,我们在这呢,来测试咱们这个利用port导入的就行,像好and test,那么呢,我们先来看IC容器中的所有组件,我们经常要打印所有组件,来就来抽取一个方法否认他。B这个呢,把LC容器给我们传过来,把所有的组件给打印好,我们applicationest,第2GET be DeFinitions,好,然后呢,我们把容器中所有的组件名我们都可以拿过来看一看输出,那好,我们把这个方法我来调一下。
03:37
传入我们这个LC容器,那么呢,默认现在我们来看一下容器中的组件来,容器中的组件呢,现在是除过LC容器自己的,还有跟B,诶这个呢,因为我们这是一个新方法,我们运行的时候呢,啊,这个运行的这个变量上,我没说这个操作系统是nu或者什么,那么按照我们之前的这个判断,那么操作系统呢,认就是那这个条件是成立的,S接下来呢,就会来装配下的也进来了,比尔盖茨也进来了,但是这个斯是nu才注册,所以说呢,现在容器中有这么三个组件没问题,那么呢,我们要整color怎么办呢?我们可以有第一种办法,哎,我写一个方法color啊,And be,那么这个太麻烦了,我们来写第二种方法,我们给这个类上加一个注解叫atport iport。
04:37
呢,我们直接来写上咱们这个我们要导入的这个组件,我来叫就叫color color。好,第二,然后呢,我们再来打印IOC容器中的左线来看一看,走。哎,我们发现LC容器中就要卡拉这个组件了,那么这个组件的名M默认就是咱们这个全类名来说一下,就说呢快速的啊,咱们这个导入组件ID默认是是组件的全里面,哎,这就是我们使用at import快速的导入一个组件。
05:27
当这个只是导单个,我们来点过去,你要导多个,我们把这个class呢,我也可以来写上多个,比如我们有多个组件,这有一个color,我们再来一个read吧,啊,红色的,那么呢,我们可以通过它再来导一个read,好,我们来写一个数字,那么第一个叫color class,第二个叫read.class诶,这时候呢,我们导多个等等等等,我们都可以这么来导进去,我们测试,哎,Color read都有,那么呢,这是我们第一种方式是用import,哎,我们直接写咱们要导入的组件。
06:10
直接import要导入的组件到容器中的组件,那么呢,容器中就会有做这个组件,容器中就会自动注册这个组件ID,默认是权威,这是我们说的第一种方式。
我来说两句