Spring架构详解之BeanFactory的创建-上
2017-03-16 10:38
411 查看
下面是更新BeanFactory的方法代码:
这个方法实现了AbstractApplicationContext的抽象方法refreshBeanFactory,这段代码清楚的说明了BeanFactory的创建过程。注意BeanFactory对象的类型的变化,前面介绍了他有很多子类,在什么情况下使用不同的子类这非常关键。BeanFactory的原始对象是DefaultListableBeanFactory,这个非常关键,因为他设计到后面对这个对象的多种操作,下面看一下这个类的继承层次类图:
DefaultListableBeanFactory类继承关系图
从这个图中发现除了BeanFactory相关的类外,还发现了与Bean的register相关。这在refreshBeanFactory方法中有一行loadBeanDefinitions(beanFactory)将找到答案,这个方法将开始加载、解析 Bean的定义,也就是把用户定义的数据结构转化为Ioc容器中的特定数据结构。
这个过程可以用下面时序图解释:
创建BeanFactory时序图
DefaultListableBeanFactory类继承关系图
从这个图中发现除了BeanFactory相关的类外,还发现了与Bean的register相关。这在refreshBeanFactory方法中有一行loadBeanDefinitions(beanFactory)将找到答案,这个方法将开始加载、解析 Bean的定义,也就是把用户定义的数据结构转化为Ioc容器中的特定数据结构。
这个过程可以用下面时序图解释:
创建BeanFactory时序图
相关文章推荐
- Spring架构详解之BeanFactory的创建-下
- Spring架构详解之创建Bean实例并构建Bean的关系网
- spring的BeanFactory和ApplicationContext源码详解(二)
- 8.5.2: Spring的事务---使用TransactionProxyFactoryBean创建事务代理
- spring SqlSessionFactoryBean创建SqlSessionFactory
- Spring入门学习——使用Spring的FactoryBean创建Bean
- spring SqlSessionFactoryBean创建SqlSessionFactory
- spring详解:通过FactoryBean自定义工厂初始化Bean
- 2、Spring的LocalSessionFactoryBean创建过程源码分析
- 详解Spring Boot 使用Java代码创建Bean并注册到Spring中
- (三)Spring详解——创建bean实例
- spring的BeanFactory和ApplicationContext源码详解(一)
- spring 源码解读与设计详解:4 DefaultListableBeanFactory及资源载入
- 使用Spring的FactoryBean创建同步队列线程池
- Spring的FactoryBean详解
- spring的BeanFactory和ApplicationContext源码详解(二)
- spring的BeanFactory和ApplicationContext源码详解(二)
- spring的BeanFactory 和ApplicationContext详解
- spring 源码解读与设计详解:3 FactoryBean
- spring中beanfactory和applicationcontext创建bean的区别