当前位置: 首页 > 网络应用技术

春季IOC建造 - 后处理器分析

时间:2023-03-06 00:14:00 网络应用技术

  分析了Spring IOC的源代码,主要基于Spring IOC的整体源代码过程,并且不涉及太多细节。接下来,将分析Spring IOC的内置后处理器的源代码,并将进行分析和汇总。春季有两种类型的构建处理器,即Bean的后处理器和BeanFactory的后处理器。本文将总结并分析这两种类型的后处理器。

  在这里,您将获得两个存储BeanFactoryPostProcessor的对象,并将呼叫传递给下一个呼叫,1。当前的Bean Factory,2。自定义AddBeanFactoryPostProcessor的自定义的BeanFactoryPostProcessor。

  该方法分为两部分。第一部分调用所有实现BeanDefinitionRegization接口的后处理器,第二部分处理BeanFactoryPostProcestor后处理器。BeanFactoryPostProcessor的自定义后处理器;

  InvokeBeanDefininionistryPostProcessors

  输入构型构图callizationCallizationColdPostProcessor的后期定义性识别方法。如前所述,ConfigurationClassPostProcessor还实现了BeanDefinitionRegistryPostPostPostPostpaster的接口。

  configurationClassParser的解析方法

  它是如此的深~~现在,它已经是一个真实的分析配置类。

  DoProcessConfigurationClass Clore仅查看@componentscan注释的实现。

  componentscanparser.parse方法

  Scanner.doscan

  FindCandidateComponents

  InvokeBeanFactoryPostProcessors

  所有后处理器都将被要求进行周期。这里没有定制的后处理器。因此,只有一个构建的后处理器,即ConfigurationClassPostProcessor后处理器,该处理器主要用于分析配置类。输入后处理方法。

  使用CGLIB在EnhanceConfigurationClasses方法中代表配置类,因为@Bean方法会创建一个bean实例。插入一个问题:为什么在此处使用动态代理?例如:配置类和不@configuration之间的差异。

  然后查看源代码:

  增强型摄影类

  插入:确定是否是完整的配置类。

猜你喜欢