【spring源码分析】IOC容器解析
2024-08-30 13:31:31
参考:
https://www.iteye.com/topic/1121913(自动注入bean的扫描器)
https://m.imooc.com/mip/article/34150(循环依赖的解决方案)
https://blog.csdn.net/why_2012_gogo/article/details/57413824(bean生命周期)
https://www.jianshu.com/p/d511bcb502c3(自动注入)
一、bean初始化的基本步骤
1、使用构造函数,创建一个bean的实例
2、根据BeanDefinition的描述关系以及bean的属性配置,进行依赖注入
org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
3、执行bean的Aware的实现方法
4、执行bean的前置处理方法
5、执行bean的初始化方法
6、执行bean的后置处理方法
二、bean的自动依赖注入
1、基于注解的方式
1、在spring的xml文件配置了
<context:component-scan base-package=""/>
2、上述配置,会自动扫描包名下所有配置了相应注解的类,组装成如下BeanDefinition,并注册入spring容器
=>org.springframework.context.annotation.ScannedGenericBeanDefinition
3、自动依赖注入,上述配置会向spring容器中注入如下的bean处理器,对bean进行依赖注入
=>org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
最新文章
- [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
- OpenCv Mat操作总结
- 夺命雷公狗-----React---21--小案例之心情留言板
- python bytes to string
- Mysql 如何实现列值的合并
- IBM服务器诊断面板
- java中的final关键词
- [原]如何用Android NDK编译FFmpeg
- B-Tree indexs
- visualvm添加远程管理-centos
- 最最简单的~WordCount&#172;
- Could not load file or assembly &#39;MagickNet.dll&#39;
- 【Xamarin挖墙脚系列:应用的性能调优】
- windows下端口被占用的解决方法
- c - 冒泡/选择排序.
- dos下遍历目录和文件的代码(主要利用for命令)
- linux_Ubuntu 12.04 安装jdk
- js 上下切换图片
- 搭建高可用mongo集群3.4版本
- 转载 git Unknown SSL protocol error in connection to github.com:443
热门文章
- 如何传递大文件(GB级别)
- element ui axios使用formdata提交数据
- MySQL Percona Toolkit--pt-osc学习
- ubuntu16.04重置root密码
- null在mysql中的不同表现
- svn 没有killall命令的解决方法 -bash: killall: command not found
- W3C--BOM(1)知识梳理
- Codeforces Round #598 (Div. 3)- E. Yet Another Division Into Teams - 动态规划
- Mysql【第一课】
- [转]Linux-虚拟网络设备-tun/tap