AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
bean创建流程
2021-12-21 14:01:09
13
举报
分享方式
免费使用
bean
Spring循环依赖
模板推荐
作者其他创作
大纲/内容
1-类加载校验
2-⽅法覆盖校验和准备
3-如果 Bean 配置了实例化的前置处理器,则返回对应的代理对象
applyBeanPostProcessorsBeforeInstantiation()
applyBeanPostProcessorsAfterInitialization()
4-如果没有3,则创建 Bean :关键⽅法doCreateBean
1实例化
createBeanInstance方法
instantiateBean默认无参构造
getInstantiationStrategy().instantiate(mbd, beanName, parent);
选择jdk动态代理或者cglib来创建bean实例
applyMergedBeanDefinitionPostProcessors方法
解决@autowired注解 和@value注解
earlybean 实例化之后的bean
解决循环依赖问题
2属性填充
populateBean
autowireByName(beanName, mbd, bw, newPvs)
autowireByType(beanName, mbd, bw, newPvs)
applyPropertyValues(beanName, mbd, bw, pvs)
作用:将所有属性注入到beanwrapper
3初始化
initializeBean
invokeAwareMethods(beanName, bean)
aware 相关接⼝实现回调
applyBeanPostProcessorsBeforeInitialization(wrappedBean, beanName)
postProcessBeforeInitialization 回调
invokeInitMethods(beanName, wrappedBean, mbd) 通过反射初始化bean
((InitializingBean) bean).afterPropertiesSet()
invokeCustomInitMethod(beanName, bean, mbd)
applyBeanPostProcessorsAfterInitialization(wrappedBean, beanName)<br>
postProcessAfterInitialization 回调
4销毁
收藏
立即使用
bean创建流程
175495_PO
职业:暂无
去主页
Collect
Get Started
散户创建vm流程
Collect
Get Started
创建医生
Collect
Get Started
组织创建
Collect
Get Started
Bean创建流程
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document