Bean的生命周期过程

一、 Spring是什么?
Spring是一个轻量级的java开发框架,它是为了解决企业应用开发的复杂性而创建的,spring的核心是控制反转(IOC)和面向切面编程

(AOP),Spring的主要作用就是为代码解耦,降低代码间的耦合度,让对象和对象直接关系不是使用代码关联,而是通过配置来说明,即在

spring中说明对象的关系,使用ico降低业务对象之间耦合度,使得主业务在相互调用过程中,不用在自己维护关系了,即不用再自己创建要

使用的对象了,而是spring容器统一管理,自动注入;而AOP使得系统服务得到了最大的复用,且不用再由开发人员手工将系统级服务混到

主业务逻辑中,而是由spring容器统一完成织入。

二、Bean的生命周期过程

1、首先启动容器

2、通过getBean调用某个bean

3、通过beanDefinitionReader加载提前定义好的bea信息生成beanDefinition对象

然后存在一个Map结构中,Map的key是Bean的名字,value是beanDifinition对象

这个beanDifinition对象存的是描述了Bean的各种信息,比如Bean要实现的类

Bean的名字,作用域,构造方法注入时的参数,setter注入时的参数,自动注入模型

懒加载模型,初始化方法,销毁方法。

4、然后通过bean工厂后置处理器读取bean的定义属性信息,并可以修改它

同时可以设置多个bean工厂后置处理器,然后通过order属性来确认各个bean工厂后置处理器的执行顺序;

我们可以通过实现beanFactoryPostProcessor,并重写postProcessBeanFactory自定义bean工厂后置处理器

去修改对应的bean属性信息

5、BaanFactory通过反射创建对应的bean实例

6、实例化bean,通过调用bean的构造函数,生成beanWrapeer对象

7、通过调用populateBean方法完成填充属性

8、调用Aware方法,其中有实现了BeanNameAware接口就调用setBeanName;

实现BeanClassLoaderAware接口,就实现setBeanClassLoader;实现了BeanFactroyAware接口

调用setBeanFactory

9、 然后调用初始化bean之前的bean后置处理器的postProcessBeforeInitialization方法

10、然后执行初始化方法,实现InitializingBean接口,调用afterPropertoesSet,然后如果定义了初始方法

就执行自定义的初始化方法,init-method

11、 然后调用bean后置处理器的poerProcessAfterInitialization

12、然后bean就可以进行调用了

13、然后要销毁bean的时候,实现DisposableBean接口,第哦啊用destroy, 执行自定义销毁方法,desroy-method

14、结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值