Spring是如何初始化的

2025-04-18 00:24:20

1、ResourceLoader从各种存储介质中加载Spring配置信息,并使用Resource表示这个相关的配置文件的资源。

Spring是如何初始化的

2、BeanDefinitionReader读取Resource所指向的配置文件资源,然后解析配置文件。配置文件中每一个<bean>会被解析成一个BeanDefinition对象,并保存到BeanDefinitionRegistry中。

Spring是如何初始化的

3、容器扫描BeanDe酆璁冻嘌finitionRegistry中的BeanDefinition,使用Java的反射机制自动识别出Bean工厂后处理器后(实现BeanFactoryPostProcessor接口)的Bean,然后调用这些Bean工厂后处理器对BeanDefinitionRegistry中的BeanDefinition进行加工处理。

Spring是如何初始化的

4、Spring容器从BeanDefinitionRegistry中取出加工后的BeanDefinition,并调用InstantiationStrategy着手进行Bean实例化的工作。

Spring是如何初始化的

5、在实例化Bean时,Spring容器使用BeanWrapper对Bean进行封装,幞洼踉残BeanWrapper提供了很多以Java反射机制操辑湃形傥作Bean的方法,它将结合该Bean的BeanDefinition以及容器中属性编辑器,完成Bean属性的设置工作。

Spring是如何初始化的

6、利用容器中注册的Bean后处理器(实现BeanPostProcessor接口的Bean)对已经完成属性设置工作的Bean进行后续加工,直接装配出一个准备就绪的Bean。

Spring是如何初始化的
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢