参考:

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

最新文章

  1. [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
  2. OpenCv Mat操作总结
  3. 夺命雷公狗-----React---21--小案例之心情留言板
  4. python bytes to string
  5. Mysql 如何实现列值的合并
  6. IBM服务器诊断面板
  7. java中的final关键词
  8. [原]如何用Android NDK编译FFmpeg
  9. B-Tree indexs
  10. visualvm添加远程管理-centos
  11. 最最简单的~WordCount&#172;
  12. Could not load file or assembly &#39;MagickNet.dll&#39;
  13. 【Xamarin挖墙脚系列:应用的性能调优】
  14. windows下端口被占用的解决方法
  15. c - 冒泡/选择排序.
  16. dos下遍历目录和文件的代码(主要利用for命令)
  17. linux_Ubuntu 12.04 安装jdk
  18. js 上下切换图片
  19. 搭建高可用mongo集群3.4版本
  20. 转载 git Unknown SSL protocol error in connection to github.com:443

热门文章

  1. 如何传递大文件(GB级别)
  2. element ui axios使用formdata提交数据
  3. MySQL Percona Toolkit--pt-osc学习
  4. ubuntu16.04重置root密码
  5. null在mysql中的不同表现
  6. svn 没有killall命令的解决方法 -bash: killall: command not found
  7. W3C--BOM(1)知识梳理
  8. Codeforces Round #598 (Div. 3)- E. Yet Another Division Into Teams - 动态规划
  9. Mysql【第一课】
  10. [转]Linux-虚拟网络设备-tun/tap