Spring Bean生命周期源码原理图解

这篇文章主要介绍了Spring Bean生命周期源码原理图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

概述

spring流行了很长时间了,是一个用java编写的轻量级框架,受到了很多公司及程序员的欢迎,Bean生命周期是一个对象从实例化开始到销毁的全过程,了解生命周期是很有必要的。

重要性

spring的生命周期是比较复杂的,只有了解其过程及原理才能更好的扩展程序。

源码剖析生命周期过程bean的实例化

属性填充及Aware接口检测设置依赖

如果容器自定义了BeanpostProcessor的实现类,则执行处理器相应的前置处理

bean实现了初始化接口InitlializingBean,则会执行相应的逻辑

同时也自定义了初始化方法init-method

如果容器自定义了BeanpostProcessor的实现类,则会执行相应处理器的后置处理

注册销毁的回调bean

bean实现了销毁接口disposableBean,则会执行相应的逻辑

同时也自定义了销毁化方法destory-method

流程的请求总结

上述流程图总结了从容器启动到销毁的全过程

总结

一、从上面源码分析,spring的生命周期可以分为四大块:

1、bean的实例化

2、bean属性的设值

3、bean的初始化

4、bean的销毁

二、实现了Aware的接口,则会注入相应的依赖

三、接口BeanPostProcessor有两个初始化方法,这两个方法增加bean的时候,很重要,比如,spring aop可以返回一个代理对象;参数的解密等等

四、其中生命周期用了简单工厂、工厂方法、单例模式、适配器模式、策略模式,利用这些设计模式,能够设计出更好的应用程序。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...