Spring是如何初始化的
1、ResourceLoader从各种存储介质中加载Spring配置信息,并使用Resource表示这个相关的配置文件的资源。
2、BeanDefinitionReader读取Resource所指向的配置文件资源,然后解析配置文件。配置文件中每一个<bean>会被解析成一个BeanDefinition对象,并保存到BeanDefinitionRegistry中。
3、容器扫描BeanDe酆璁冻嘌finitionRegistry中的BeanDefinition,使用Java的反射机制自动识别出Bean工厂后处理器后(实现BeanFactoryPostProcessor接口)的Bean,然后调用这些Bean工厂后处理器对BeanDefinitionRegistry中的BeanDefinition进行加工处理。
4、Spring容器从BeanDefinitionRegistry中取出加工后的BeanDefinition,并调用InstantiationStrategy着手进行Bean实例化的工作。
5、在实例化Bean时,Spring容器使用BeanWrapper对Bean进行封装,幞洼踉残BeanWrapper提供了很多以Java反射机制操辑湃形傥作Bean的方法,它将结合该Bean的BeanDefinition以及容器中属性编辑器,完成Bean属性的设置工作。
6、利用容器中注册的Bean后处理器(实现BeanPostProcessor接口的Bean)对已经完成属性设置工作的Bean进行后续加工,直接装配出一个准备就绪的Bean。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:84
阅读量:57
阅读量:85
阅读量:83
阅读量:31