Spring的bean生命周期
2022-10-04 21:21:21 11 举报
xxxx
作者其他创作
大纲/内容
得到包路径下所有class文件对象,不是class对象而是文件对象【可以理解为File对象】
实例化前
填充属性后
推断构造方法
如果是抽象类,但是有@Lookup注解的方法则通过
实例化后
初始化BeanFactory
实例化
初始化后
调用AnonotionBeanNameGenertor 生成beanName
执行beanFactory后置处理器
加载类
如果是抽象类或者接口则不通过
初始化
扫描结束
初始化前
进一步进行条件注解【用@Condition】匹配筛选
利用ASM技术,解析每个class文件对象,并得到元数据信息
遍历每个BeanDefinition
给BeanDefinition中的对象赋默认值
执行Aware
解析@Lazy @Primary @DependOn @Role @Description等属性 并赋值给BeanDefinition对应的属性
填充属性
最终扫描到某些BeanDefinition
如果不是顶级类或者静态内部类则不通过
进行扫描
创建BeanFactory
如果当前类和某个inclludeFilter匹配,那就通过这个类
生成BeanDifinittion
合并BeanDifinittion
都匹配成功后,根据当前类生成一个ScanedFGerenicBeanDefinition
BeanDefinition的后置处理器
包路径
启动ApplicationContext
如果当前类和某个exclludeFilter匹配,那就排除这个类
0 条评论
下一页