学习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来保持和维护。

相关推荐
智航GIS2 分钟前
ArcGIS Python零基础脚本开发教程---1.1 Describe 函数
开发语言·python·arcgis
云游云记6 分钟前
php 网络请求工具全解:cURL 与 Guzzle 总结
开发语言·网络·php
华农第一蒟蒻7 分钟前
一次服务器CPU飙升的排查与解决
java·运维·服务器·spring boot·arthas
科技林总10 分钟前
【系统分析师】5.7 数据挖掘技术
学习
m0_7482299915 分钟前
帝国CMS后台搭建全攻略
java·c语言·开发语言·学习
weixin_4624462321 分钟前
PaddleX 3.2 人脸识别实战:自定义人脸库 + CartoonFace 官方案例 Top-K 识别完整指南
开发语言·r语言
Testopia37 分钟前
走一遍 AI 学习之路 —— AI实例系列说明
开发语言·人工智能·python
码农娟37 分钟前
Hutool XML工具-XmlUtil的使用
xml·java
Tony Bai39 分钟前
【分布式系统】11 理论的试金石:用 Go 从零实现一个迷你 Raft 共识
开发语言·后端·golang
Beginner x_u40 分钟前
JavaScript 原型、原型链与原型继承的核心机制解析
开发语言·javascript·原型模式·原型原型链