Spring源码之-Bean 的创建过程
2021-09-15 11:49:07 5 举报
spring Bean 创建过程
作者其他创作
大纲/内容
jdk
<bean id = ? name = ? scope = ?><property name = ? value= ?><property name = ? value= ?></bean><bean id = ? name = ? ><constructor-arg name =? value= ? ><constructor-arg name = ? ref = ?></bean>
yaml配置文件
new 反射
观察者模式: 监听器。监听事件
完整Bean对象
获取Class对象的方式:1.Class clazz = Class.forName(\"全限定名\");Class clazz = 对象.getClass();Class clazz = 类.class;Constructor ctor = clazz.getDeclareConstructor();Object obj = ctor.newInstance();
BeanPorcessor:After
给属性完成赋值操作
问题: 如果要在Bean创建过程中,详细了解每一个步骤完成的进度,怎么做? 或者在不同的阶段要做不同的处理工作。应该怎么做?
BeanDefinitionReader
填充属性
Environment
classPathXmlApplicationContext(\"application.xml\");
为了方便使用,在容器创建的时候会将系统相关的属性加载到StandardEnvironment对象中,方便后续使用
实例化与初始化的区别
PostProcessor(增强器,后置处理器) 功能: 完成扩展
初始化:执行init方法
BeanFactoryPostProcessor
调用具体的初始化方法
在堆中开辟出一块空间,属性都是默认值
三级缓存:解决循环依赖问题
Bean定义信息BeanDefinition
抽象接口:定义读取配置文件的规范(根据不同的配置文件获取不同的读取器,读取Bean的定义信息)
IOC
Constructor ctor = clazz.getDeclareConstructor();Object obj = ctor.newInstance();
实例化
BeanPorcessor:before
Cglib
XML配置文件
BeanFactory
env
properties
填充属性,赋值
BeanPostProcessor
Spring源码
AOP
初始化
IOC容器
收藏
0 条评论
回复 删除
下一页