Spring Bean生命周期

Spring的生命周期

Spring的生命周期

1.BeanDefinition(依赖注入)

	bean的定义,存放bean的:

												1.scope:是否是单例

												2.initMethod:初始化方法

												3.byName/byType:bean的注入方式

												4.@dependsOn:该bean初始化是依赖的类,必须先生成

												......

	new 出原始对象,放入三级缓存,三级缓存中存放的是关于原始对象的lambda表达式

2.属性填充

	在属性填充时涉及到其它bean时,先去单例池中找对应的bean——》如果没有找到,就去三级缓存中找——》找到对应原始对象的lambda表达式后执行AOP,得到代理对象,移除对应lambda表达式(保持单例)——》放入二级缓存

	实例化前,可以获取各种Aware,用来改变类的信息。比如:BeanNameAware、BeanFactoryAware、	ApplicationContextAware

	调用BeanPostProcessor的预初始化方法(postProcessorBeforeInitialization方法)

	调用InitializingBean的afterPropertiesSet方法,可以针对某个具体的bean进行配置

3.初始化

	调用BeanPostProcessor的后初始化方法(postProcessorAfterInitialization方法)

	在这个阶段可以进行aop操作(前提是前面没有提前进行过AOP)

	放入单例池

4.销毁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值