容器和Bean的创建
2022-10-21 17:24:58 0 举报
spring容器和Bean的创建
作者其他创作
大纲/内容
如何获取容器对象
容器
set方法
AppilacationContext
初始化
使用
容器对象
根据配置文件进行加载
调用aware接口方法
实例化
BeanfactoryPostProcessor
Container
BeandifinitionReader
逻辑路线,过于简单不便于扩展
BeanFactory
after
循环执行,非链式操作
将配置文件进行整合
调用初始化方法,完成额外的扩展
spring容器中含有几种对象?
不会根据配置文件对应的数据值进行替换对象值
针对Bean处理
AOP
用户自定义对象
针对BeanFactory处理
抽象给出一个固定的接口,不同子类去实现即可
反射
注解
aop
对象
帮助调用set方法进行赋值
封装成BeanDefinition对象
PostProcesser
bean的生命周期
类名.class
xml
jdk
new反射
增强器
创建对象
IOC
BeanPostProcessor
填充属性
动态代理
扩展
properties
class.forname
注解@Bean
对象.getClass
等同于容器
xml配置文件封装的对象信息
可扩展性,循环执行,非链式操作
yaml
BeanFactoryPostProcessor
调用iinit方法
对象的创建使用和销毁都由容器来帮我们控制
完整对象
后置处理器
BeanDefinitionbean的定义信息
完整对象,可以直接使用
销毁过程
容器和对象的创建流程:1、先创建容器2、加载配置文件,封装成BeanDifinition3、调用BeanFactoryPOSTProcessor准备工作: 准备beanPostProcessor 准备监听器,事件,广播器4、实例化5、初始化6、获取完整对象
在堆空间开启空间,属性都是默认值
beanPostProcessor
解析
Construtor ctor=clazz.getDeclareConstructor();Object obj=ctor.newinstance();
基石
负责将值进行替换
cglib
before
收藏
0 条评论
下一页