- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对Spring IoC容器实现的结构分析
Spring IoC 容器实现的结构分析
本文的目标:
从实现的角度来认识SpringIoC 容器。
观察的角度:
从外部接口,内部实现,组成部分,执行过程四个方面来认识SpringIoC 容器。
首先列出SpringIoC 的外部接口及内部实现所涉及到的组件列表;
其次介绍组件之间的相互关系以对整个执行过程有所把握;
然后针对每一个组件的简单介绍,包括组件的类结构图,核心功能描述,重要接口的重要方
法描述;
接下来看SpringIoC 容器实现对面向对象基 设计原则的遵 ;
最后是后记部分。
术语约定:
组件:本文中的组件是指在功能概念上具有相对独立性的功能单元,物理结构上的特征一般
由一组接口、一组抽象类、一组具体实现类、异常类、工具类所组成;
这里的组件是一种相当狭义的描述,根据上下文的不同,组件可以有不同的表现形
式,如:相对于Spring 框架,SpringIoC 容器就是Spring 框架的一个组件,
相对于系统的整体框架设计,Spring 框架就是整体框架的一个组件,这里组件与模块的
概念基 等同。
接口方法:一般定义在接口中,提供给外部调用的方法,接口方法最重要的在于接口提供者
以清晰、简洁的定义提供了接口使用者所必需的功能特征;
基础方法:首先基础方法也是一个接口方法,但和接口方法的差别在于接口方法的直接实现
依赖于基础方法(参见BeanDefintionReader 接口中的方法定义);
钩子方法:超类留给子类需要实现或重写的方法,
默认实现钩子方法:超类提供默认实现,子类可以选择是否有必要重写,
默认空实现钩子方法:超类提供一个空实现方法,子类可以选择是否有必要重写,
抽象钩子方法:超类留给子类必须实现的方法,
内部实现方法:对某一相对独立的处理逻辑的封 ,以便增强代码的可读性、可修改性、可
重用性,达到代码的清晰性、简洁性。
注:
本文的源代码基于Spring2.x。Spring 的源代码也处于演变中,但对基础代码的影响并不大。
正文:
Spring IoC 容器的外部接口:
ApplicationContext
BeanFactory
WebApplicationContext
BeanFactory 是IoC 容器的核心组件,其它组件都是在为BeanFactory 提供服务.
ConfigurableBeanFactory
AutowireCapableBeanFactory
ListableBeanFactory
HierarchicalBeanFactory
AbstractBeanFactory
AbstractAutowireCapableBeanFactory
DefaultListableBeanFactory
SingletonBeanRegistry 接口,
BeanDefintionRegistry 接口,
Resource 组件,
ResourceLoader 组件,
BeanDefintion 组件,
BeanDefintionReader 组件,
XmlBeanDefinitionParser 组件,
BeanDefintionParser 组件,
NamespaceHandler 组件,
NamespaceHandlerResolver 组件,
BeanWrapper 组件,
ApplicationContext
ConfigurableApplicationContext
AbstractApplicationContext
AbstractRefreshApplicationContext
AbstractXmlApplicationContext
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
Lifecycle 接口
ApplicationEventPublisher 接口
ApplicationEventMulticaster 组件
MessageSource 组件
MessageSourceResolvable 组件
WebApplicationContext
ConfigurableWebApplicationContext
AbstractRefreshWebApplicationContext
XmlWebApplicationContext
ContextLoader 组件
ContextLoaderListener
ContextLoaderServlet
您可能关注的文档
- 单因素试验的方差分析 一、单因素试验.ppt
- 原始记录的填写.ppt
- 叙事类材料作文开篇模式 邱超莲.ppt
- 各国医药专利制度 姜 晖.ppt
- 口语交际 习作二 祖国在我心中.ppt
- Spring_Ioc理解.doc
- 各种句型的翻译 科技英语句型的特点 大量使用长句.ppt
- 合同法 主讲:褚思翔.ppt
- 同步电机——习题.ppt
- 各种管道脱落应急预案 胸外科 夏超群.ppt
- 北京大学药理学课件第四十四章--抗病毒药和抗真菌药.pptx
- 20115al corporation-申说明订阅图片任务组2214 an632.pdf
- 周新闻稿-品牌故事版.pdf
- 说明m1 xx markscheme biology sl paper 2生物学纸2TZ1.pdf
- 没有什么让害怕课程计划1nothing scares med38吓到.pdf
- vcds隐藏功能技术说明.pdf
- 坚定资源持续竞争优势杰jay barneyrabbit xu shi.pdf
- 说明确保卡并带上个趋势client当场选择哪种与它们相关reclaim responsibility收回责任.pdf
- 合创生产计划优化系统httc.pdf
- 房屋课程计划级araz lamyhouse.pdf
最近下载
- 新能源汽车技术 课件 项目三 新能源汽车安全操作的规范认知.pptx
- 2025年中考语文总复习三年中考真题分类复习专题10古诗文默写.docx VIP
- 叉车及叉车电池知识.doc
- 幼儿园小班安全教育课.ppt VIP
- 苏教版六年级下册数学全册教学课件(2024年春季修订).pptx
- 路斯特ServoC,操作手册.pdf
- 公共英语专升本3800个英语单词资料讲解.docx
- 区块链技术及应用-PPT课件(全).pptx
- 中信建投-机械设备-2025年机器人行业系列报告之一:灵巧手高灵活度末端执行器OptimusGen-3将推动微型丝杠、腱绳-传感器需求扩张.pdf VIP
- 网络系统建设与运维(中级)全套教学课件.pptx
文档评论(0)