Bean 的生命周期

一、图片

在这里插入图片描述

二、描述

1、Spring 依赖注入的三种方式

接口注入、属性注入、构造方法注入

2、生命周期描述过程

根据配置情况调用Bean 构造方法或工厂方法实力化Bean

利用依赖注入完成Bean中所有的属性值的配置注入

如果Bean 实现了BeanNameAware 接口,则Spring 调用Bean 的setBeanName() 方法传入当前Bean 的id 值。

如果Bean 实现了BeanFactoryAware接口,则Spring 调用setBeanFactory() 方法传入当前工厂实例的引用

如果Bean 实现了ApplicationContextAware 接口,则Spring 调用setApplicationContext() 方法传入当前ApplicationContext实例的引用

如果BeanPostProcessor 和Bean 关联,则Spring 将调用该接口的预初始化方法postProcessBeforeInitalzation()对Bean 进行加工操作,Spring 的AOP 就是利用这个实现

如果Bean 实现了InitalizingBean 接口,则Spring 将调用afterPropertiesSet()方法。

如果在配置文件中通过init-method 属性指定了初始化方法,则调用该初始化方法。

如果BeanPostProcessor 和Bean 关联,则Spring 将调用该接口的初始化方法postProcessAfterInitialization。此时Bean 就可以被应用系统使用了。

如果在中指定了该Bean 的作用范围scope =‘singleton’,则将该Bean 放入Spring IoC的缓存池中,将触发Spring 对该Bean 的生命周期管理;如果 中指定了该Bean 的作用范围为scope = ‘prototype’,则将该Bean 交给调用者,调用者管理该Bean 的生命周期,Spring 不在管理该Bean

如果实现了DisposableBean 接口,则Spring 会调用destory() 方法将Spring 中的Bean 销毁;如果再配置文件中通过destory-method 属性指定了Bean 的销毁方法,则Spring 将调用该方法对Bean 进行销毁。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值