spring 技术内幕阅读笔记 - spring ioc
1. IoC容器的实现
IoC容器的基本实现接口?
BeanFactory
1.IoC容器的初始化包括那几部?
1.1 BeanDefinition Resource 的定位
通过Resource接口完成,通过BeanDefinitionReader读取资源
1.2. 载入和解析
把 BeanDefinition 转化为spring内部表示的数据结构
BeanDefinition 载入的入口是?
FileSystemXmlApplicationContext 构造方法中 调用的
FileSystemXmlApplicationContext 的基类 AbstractApplicationContext中 refresh 方法
BeanFactory 在哪里创建?
AbstractRefreshableApplicationContext 中的 refreshBeanFactory 方法
BeanDefinitions 的载入在哪里?
loadBeanDefinitions 是抽象方法 ,具体实现是?
AbstractXmlApplicationContext中的 loadBeanDefinitions 方法
具体的载入过程委托给 BeanDefinitionReader,具体载入实现是通过 XmlBeanDefinitionReader
1.3. 注册
BeanDefinition 将被保存到 beanDefinitionMap
通过 DefaultListableBeanFactory registerBeanDefinition 方法 ,DefaultListableBeanFactory 实现了 BeanDefinitionRegistry接口
2.IoC容器的依赖注入
依赖注入在什么时候发生的?
用户第一次从容器中获取bean的时候,也可以设置lazy-init对bean预实例化
程序入口?
DefaultListableBeanFactory(AbstractBeanFactory) getBean 方法
处理依赖注入的方法?
AbstractAutowireCapableBeanFactory populateBean 方法
转载于:https://my.oschina.net/ipandage/blog/165596