最终来总结一下,看看通过注解方式来配置的bean是如何注册的。
其实大体流程上与xml是一致的,只不过在某些细节上有区别。比如是需要先注册一些内部的处理器,如ConfigurationClassPostProcessor, 随后再注册configuration,再进行就内部处理器的实例化,从而去执行要去执行的任务,而ConfigurationClassPostProcessor则是根据Configuration类指定的包去扫描,把需要的beanj进行注册。由于还可以自定义一些后置处理器,随后便会再去beanFac中找到后置处理器,进行实例化以及随后进行执行。下面画一个流程图好了。里面最后有几个内容是没有讲到的,如spring的事件监听器是如何工作的,以及bean是如何实例化的,前面的例子只覆盖到了如何注册,这些后面再补上。

网友评论