学习java第四十天

类图中各个类的作用:

AliasRegistry:定义对alias的简单增删改等操作

SimpleAliasRegistry:主要使用map作为alias的缓存,并对接口AliasRegistry进行实现

SingletonBeanRegistry:定义对单例的注册及获取

BeanFactory:定义获取bean及bean的各种属性

DefaultSingletonBeanRegistry:对接口SingletonBeanRegistry各函数的实现

HierarchicalBeanFactory:继承BeanFactory,也就是在BeanFactory定义的功能的基础上增加了对parentFactory的支持

BeanDefinitionRegistry:定义对BeanDefinition的各种增删改操作

FactoryBeanRegistrySupport:在DefaultSingletonBeanRegistry基础上增加了对FactoryBean的特殊处理功能

ConfigurableBeanFactory:提供配置Factory的各种方法

ListableBeanFactory:根据各种条件获取bean的配置清单

AbstractBeanFactory:综合FactoryBeanRegistrySupport和ConfigurationBeanFactory的功能

AutowireCapableBeanFactory:提供创建bean、自动注入、初始化以及应用bean的后处理器

AbstractAutowireCapableBeanFactory:综合AbstractBeanFactory并对接口AutowireCapableBeanFactory进行实现

ConfigurableListableBeanFactory:BeanFactory配置清单,指定忽略类型及接口等

DefaultListableBeanFactory:综合上面所有功能,主要是对Bean注册后的处理

BeanDefinition的载入和解析

对IoC容器来说,这个载入过程,相当于把定义的BeanDefinition在IoC容器中转化成一个Spring内部表示的数据结构的过程。IoC容器对Bean的管理和依赖注入功能的实现,是通过对其持有的BeanDefinition进行各种相关操作来完成的。这些BeanDefinition数据在IoC容器中通过一个HashMap来保持和维护。

相关推荐
yanxiaoyu11014 小时前
小白学习深度学习、强化学习的相关重要内容
人工智能·深度学习·学习
周杰伦fans14 小时前
C# LINQ 排序详解 —— OrderBy / OrderByDescending / ThenBy / ThenByDescending
开发语言·c#·linq
-To be number.wan14 小时前
计算机组成原理 | 存储系统基本概念
学习·计算机组成原理
xyq202414 小时前
Python3 注释
开发语言
muddjsv14 小时前
Python核心语法分类详解:从入门到精通
开发语言·windows·python
我是唐青枫14 小时前
Kotlin Lambda 表达式详解:从基础语法到实战封装
开发语言·kotlin
basketball61614 小时前
C++ 手写实现迭代器
开发语言·c++
萧戈14 小时前
c++条件变量的使用
开发语言·c++
之歆14 小时前
Day22_CSS 函数完全指南:从变量到数学计算的现代样式编程
开发语言·前端·javascript·css·tensorflow·less
南浦别a14 小时前
第一百一十二天--重新开始吧
学习·程序人生