Spring源码

IOC;使用反射创建bean对象,

 三级缓存:三个map结构,解决循环依赖

一级缓存

二级缓存

三级缓存

 

 springboot有内置的tomcat服务器

bean的定义信息

 解析XML或者注解(bean的定义信息)

 

接口和抽象类的区别:

接口:自上向下;抽象类:自下向上。

通过反射创建对象:

由BeanDefinition到bean是通过反射来完成

bean的生命周期:

beanfactorypostprocessors的作用: 占位符到具体值的替换

 

下一步

 完整如下:

 BeanDefinitionMap存储BeanDefinition对象

Map的详细西你想

 BeanFactory是顶级接口,BeanFactoryPostProcessor用于替换beanDefinition中占位符为具体的值;通过反射创建bean对象,给bean对象初始化值。

 

 自定义postprofessor

 研究源码的好处:出现问题,可以快速定位,并给出解决方案。

 源码debug:

 

posted @ 2023-05-19 09:27  northli  阅读(34)  评论(0)    收藏  举报