00:00
当你在成语中加上了组件扫描器之后,你当前的这个文件有什么变化吗?有?它会在上面加上这样的一些内容,我们看啊这个。加哪个呢?加这个。这个和这句话还有这个吗。把这个给你写上吧,这个内容了解就可以了啊,就是说你加入了这个component sky。它是个标签,那你的这个配置文件它的变化是。嗯,变化啊,变化是这样的,它会加入一个新的约束文件,一加入一个新的约束文件,这个约束文件呢,是叫做spring contact泰chard。会加一个他啊,会加一个他。那么上面这个代码的生成啊,是idea帮你去加的,Idea帮你加的啊,是加上这么一个新的约束文件。
01:07
然后呢,还会干一些事情,是给这个新的约束。啊,约束文件它呢,呃,叫做几个命名空间起个。起个命名空间的。名称。啊在哪,就这句话,就这句话,这啊这。嗯,你看我们现在看到的这句话啊。实际上就是它。而这个内容呢,代表是这个长的。这个呢是约束文件的URL。在互联网上能找到的,那么这个名字呢,我们就叫做命名空间。叫命名空间啊。
02:02
干什么呢?就是这个URL可能会很长很长的,不好记。那我们使用这个命名空间就相当于是这个UR一个别名好记一点。而这个。命名空间,他。指定是一个前缀,叫做contest,那么现在你用con就代表是这个命名空间啊。就是说你用这个康泰的代表是它,而它代表是这个URL的,就是文件是这么一个意思,这块这个内容呢,你就听一听就完事了,意义并不太大啊,就告诉你呢。当你使用这个康泰的时候,这不就是前缀吗?就像我们在做那个GTL时候,你写的是那个C冒号。什么?这前缀呀。这也是前缀,它说明呢,康后面的这个标签是来自于。
03:00
这里定义的,而它代表实际上是这个约束文件,也就是说这个标签是在这个文件里面定义的啊是这样的。因为这个框架呢,它很大很庞大,它里边呢有很多的标签,它为了避免这个标签重名。他把这个标签呢,都放在了不同的约束文件之中。前面这个前缀是为了区分你这个标签是来自于哪个文件啊,是这么个意思,这块这个内容呢,你了解就行,你不了解没有关系,总之你用法呢,就是这么用的,这是组件扫描器,它是来自于这个标签中定义啊。好,这个有所了解就行了,这个不重要啊,就这句话你会用就OK了。好,那这我给你写完了,那最后测试一下吧,看看容器中到底有没有这个对象啊。最后来测试一下吧,那这我们看看啊,这个类不需要了。
04:05
自己创建一个my test012。Public text,零一。还是一样,你先把那个配置文件呢,先来指定一下李飞的,那我们这就这一个拷贝过来。创建容器count ctx new,一个pass这个文件传进去,从容器中获取对象,从容器中获取对象,获取对象啊,Ctx的get b。ID。谁是it,是value这个值my student,你拿过来。往这一发,它是一个死丢的,这一项还好加回车键类型强制转换输出丢等于再加上丢好来一直行。
05:13
就OK了。好对象就创建了。完事了。对象就有了。它为什么是空,因为我没赋值呢,我们现在没给使用赋值呢,我们只是创建对象了,它就是调了一下这个你死丢单呢。第二是构造方法把对象创建了,别的都没干呢,所以主当然没值了,那是不是调的构造方法创建对象呢?当然是了,怎么证明?你给子弹来个构造方法不就完事了吗?构造无参输出代码,这输出一下输出的是student无参数构造方法,无参数构造方法,你就看这个构造方法执不执行呗,如果执行的话,那就说明这叫的无仓构造创建对象嘛,来走一个代码。
06:17
看结果啊好,那你看。是无参构造执行了吧,那说明你的用注解方式中,它调的也是这个无参构造创建的对象,这是无参构造方法执行了创建对象了。那这个代码怎么执行的呢?那我们程序中从上往下进行代码。先来指定配置文件,然后创建容器,当创建容器时,是把这个文件是不是给到这个构造方法的参数了,这时候我们在可pass这个类之中,它就会去读这个配置文件呢?读配置文件那它就应该是从上往下走,就一行。
07:00
当走到这一行语句的时候,那么他就会去找这个包啊。包在磁盘中不就是文件夹吗?所以它会采用递归的方式去便利所有的文件夹。那便利的就是B01找到它和它下面的子包,这类就一个类嘛,找到它就完了。完了之后,你看类的上面有一个注解啊,这个注解干什么呢?创建对象的呀,那spring就会创建对象,因为它放在了这个类的上面,是表示创建这个类的对象,所以它就会创建死丢的类的对象,调它的构造方法,无参构造对象创建出来名字叫做my student。这个对象创建好之后,就放在容器之中了。好,然后也没有其他注解了。也没有其他类了,也没有子包了,这个扫描就完成了,扫描一完成的话,那这个配置文件。
08:05
这个标签的功能就听完了,配置文件也就加载完成了。在完成之后,那也就是说我们这个容器的创建。这样代码就完成了,那么往下走。通过名字就能拿到这个对象为你所用了,就是这么一个过程啊。那我说话挺多,但实际上你做的话就这么几步。第一步。加载依赖。这第一步就完事了,这第一步啊,加了依赖,第二步写你的累呗,累,该怎么写就怎么写。类上面去加这个注解。算你第二步。加柱体。第三步,告诉框架到哪找注解,指定一个组件扫描器。就这个标签,把班门一给就完事了。到这儿代码就写完了,怎么用?那就说你得创建容器,这跟以前代码没区别吧,所以你主要做的就是。
09:03
加固。关键性的。配轴件中别忘了写这个主胶扫描器,这就完事了。注解呢,用起来就这么简单。比那个配置文件要简单的多。
我来说两句