00:00
好,前面呢,我们一起阅读了一下spring容器整个创建以及初始化过程的源码,那么这个源码呢,虽然说流程比较复杂,但是呢,来对它做一个小的总结,那只需要掌握一些核心思想,那么第一个思想就是说磁润容器,所润容器在启动的时候先会保存所有啊咱们这个注册进来的being影的定义信息,这只是第一步来保存所有的being影定义,未来呢,就按照这些being定义我们的being factor为我们创建对象。那么这些B定义呢,你可以有两种方式,第一种呢,使用插面注册咱们这个B,然后就像我们以前用的这个B标签,这样呢,相当于是注册了一个宾的定义信息,第二个,第二个使用我们这个注解,我们这个注解注注册宾。
01:00
咱们这个助线呢,我们用到的也有很多,比如我们的at service at component等等等等,Component,包括呢,我们最常用的这个at b啊等等等等,有这么多呢,我们的注册注解都是呢,给容器中注册一些B的定义信息,那么接下来第二个当容器中有保存这些B的定义信息的时候,哎,什么是容器?哎,会创建这些B,当然他会在合适的时机,那么合适的时机呢,主要有两个时机,第一个时机就是在用到这个宾的时候,比如在统一创建B应之前有一些B后,像后置处理器啦等等这些组件它需要用,那么接下来呢,它就会利用get b方法创建这个B,哎,只要要用一个B,这个B在容器中,它都是利用get b方法创建B,创建好以后。
02:11
保存在容器中以后呢,就直接可以从容器中get并拿到了,当第二个就是我们刚才说的统一创建所有宾因的时候,那么应该精确来说是统一创建剩下所有宾因的时候,就是我们走圆满的时候呢,倒数哎第二步11步要说呢,分式鼻音方程引的时候,来ization初始化剩下的所有单式里宾。这个时候呢,他会统筹,比方说所有我们容器中注册的单式利宾,如果还没创建对象,那就在这个时期创建所有的对象,当然整个对象创建的过程,我们说有最核心的一个思想需要大家掌握,就是我们这个后置处理器,每一个B呢,创建完成以后,比说这个每一个B创建完成都会使用哎各种后置处理器。
03:16
透支处理器进行处理,来增强我们这个病的功能,比如举一个例子,像我们的自动注入怎么完成的,我们owa注解呢?哎,它呢,就是利用这个b post process,那么里边呢,有一个专门来处理owa注解的,我们来可以看一下诶owa a not来比如举一个例子,它来处理自动注入。处理,哎,自动注入助理自动注入功能的包括呢,我们以前也学过a op是怎么做的呢?A op在being post process里边有一个叫啊an notation aware and spent接auto prox这个后置处理器,它呢就是给B创建代理对象来做,来做咱们这个A功,它的这个作用呢,就是为B应来创建代理对象,通过代理对象的机制来增强啊咱们这个B的L功能,包括等等等等,还有未来更多的后置处理器,比如呢,我们再举一些例子,支持异步注解的ethnic notation的。
04:34
哎,我们后来呢,会会在后来我们会用到,包括呢,还有支持其他我们这个任务调度的schedule了等等等等,像这些啊,好多注解,比如说增强功能注解,功能注解他们也会有对应非常多的这个后置处理器来为我们鼻来增强它的功能,这个后置处理器的机制是非常重要的,这个鼻process process接来呢,更重要的一个机制,哎,又一个重要的机制呢,就是我们spring的事件驱动模型,也就是我们说的这个application listener。
05:19
这个application listener呢,它是用来做事件监听,当然整个事件的派发,那么这个事件的派发是利用我们这个叫哎event publish可以来看一下。就是呢,我们有一个叫application,你问就是这个multi这个多波器,他呢帮我们来整个来进行事件派发。所以呢,这是我们这个spring里边比较核心的功能,那么我们最重要的呢,是需要理解整个后置处理器,相当于spring对所有的B的增强处理,都是利用各种各样的后置处理器,包括spring里边的事件驱动机制,这是我们整个spring源码的起出核心。
我来说两句