Spring5源码分析之IOC-ApplicationConte

2018-12-28  本文已影响0人  Beast_Rattrap

ApplicationContext概念解释

ApplicationContext翻译成中文意思是:应用上下文。特别是Context这个单词在很多框架当中被使用,context翻译成中文就是上下文的意思。上下文在上学的时候,语文的阅读理解最喜欢来一个题目叫:根据上下文,请回答。。。。其实代码中的上下文和语文上的上下文有异曲同工之妙,都是要生活在一个环境当中,然后在一定的环境中干事情。ApplicationContext就提供了一个这样的角色。
初看Spring的代码的时候,给人一种继承层次很多的感觉,先来感受一下ClassPathXmlApplicationContext的继承层次图:


ClassPathXmlApplicationContext继承关系图.jpg

看起来让人头发蒙,尤其是刚开始看Spring源码的人。我看到之后的第一感觉就是:高山仰止,景行行止。可远观不可亵玩焉。但是不要被上面的N多的接口给吓住,其实仔细分析,ApplicationContext的继承层次很少。至于为什么看起来那么多的继承和接口实现,其实Spring的目的是为了给用户一个宽松的扩展环境,其实可以压缩到3-5层的样子,但是那样子代码就不够灵活,用户在使用的时候有点束手束脚。
下图是ApplicationContext的重要部分的继承关系图:


Spring继承层次类关系图.png
从这个图来看,基本上很简单的关系了,我们先不管上面N多的interface,就管这些个class,因为最终的实现逻辑肯定是在class里面写的。
上一篇下一篇

猜你喜欢

热点阅读