-
Spring Bean生命周期|分析|图解

- 当服务启动时SpringApplication.run会执行spring的刷新上下文操作
- 刷新方法里边会根据BeanDeflnitionNames,getBean没有就会利用反射机制 实例化bean
- 实例化完成会执行属性填充方法初始化bean
- 初始化完成就可以被使用,使用有对应的前置处理和后置处理
- 在容器销毁的时候对应销毁,如果bean使用了destroy-method属性声明了销毁方法则该方法被调用
- 图解spring IOC容器的核心实现原理 上图
- spring的扩展实现一:BeanFactoryPostProcessor接口详解 对BeanDefinition的一个扩展
- spring的扩展实现二:BeanPostProcessor接口详解 对Bean对象完成扩展
- 必知必会的13个Bean声明周期处理机制
-
- 实例化bean对象->初始化设置对象属性->检查Aweare相关接口并设置相关依赖-BeanPostProcessor前置处理->检查是否是InitializingBean以决定是否调用afterPropertiesSet方法->检查是否配置有自定义的init-method->BeanPostProcessor后置处理->注册必要的Destruction相关回调接口->使用中->是否实现DisposableBean接口->是否配置有自定义的destroy方法

- Spring Bean实现Aware接口的意义
- Aware是根接口没有任何方法 在原有的bean标准化流程扩展,可以解析注解 例如:@PostContruct、@PreDestroy、@Autowired、@Value
- Aware系列接口,主要用于辅助Spring bean访问Spring容器 Aware是“意识到的,察觉到的”的意思,实现了Aware系列接口表明:可以意识到、可以察觉到)
- BeanFactory和FactoryBean的接口对比
-
- 相同点:都是用来创建对象的
- 不同点:
- BeanFactory是Bean工厂,创建的时候是标准化流程
- FactoryBean是私人订制,实现接口重写其getObject方法,想怎么创建就怎么创建对象 (new、反射、动态代理)
-
相关阅读:
信息化发展35
MCU测试科普|如何进行MCU芯片测试,具体流程是什么?
基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!
JS之简易deepCopy(简介递归)
Android 进阶——性能优化之Bitmap位图内存管理及优化概述(一)
8 Operators
合成复用原则~
Redis链表
Linux0.11内核源码解析01
网络爬虫——urllib(4)文末好书推荐
-
原文地址:https://blog.csdn.net/qq_41453424/article/details/126922107