若是用通俗易懂的语言让一个彻底不懂计算机的人理解你所谓的技术,那么说明你真的懂了。这句话是我曾经的一个师傅告诉个人...spring
spring最大的魅力是IOC、AOP这个是业内公认的了..因此,站在巨人的肩膀上,作为菜鸟的我天然就从这两个部分去剖析spring的优美。咱们搞技术的同时千万不要忘记咱们是有血有肉的人类,不能由于盲目的去实现需求而去搞技术,若是咱们搞了n久的spring开发,可咱们牢牢停留在spring.jar与beans.xml的话,那真的是spring式的悲剧。xml
就我如今这个理解层次上,我的对IOC的解释以下:一、依赖查找:譬如你在饭店,你能够根据菜单去告诉厨房你要点的菜,当厨房将菜作好,你在端菜到本身的位置去吃,这个过程就是依赖查找。二、依赖注入:仍是你在饭店,仍是你根据菜单去点菜,只不过此次你告诉了服务员你要什么,服务员会用本身的方式搞到你要的菜,放到你的桌子上。继承
经过这样的解释可让咱们感受到依赖注入也许会更方便。接口
若是说到依赖注入,那么咱们就要先去研究一下springIoc核心的接口:BeanFactory。我我的强烈建议去官网下载spring的源代码,我写这篇文章时用的是3.0.5的release版本的。该接口的部分实现类以下图:ip
该接口的方法如图。开发
而咱们最常涉及到的就是其中的继承BeanFactory的ApplicationContext,若是咱们这么看:it
就能看到若是实现了ApplicationContext这个接口的全部类,包含了其继承全部接口的方法。用Spring内部揭秘的比喻,比如这些东西都是用来装水的,当发展到ApplicationContext这个容器的时候,它已是一个很是适合使用的容器了。让咱们看下他得其中一个父接口(我不知道这么称呼对不对哈)ListableBeanFactory其中的一些端倪:这个接口在BeanFactory的基础上增长了更多的方法,从其中几个方法的命名中咱们能够猜想到BeanDefinition这个词的重要行,还有就是后面几个方法中Annotation,应该是2.5的时候就加入的注释resipotory,我的怀疑是跟注释相关的方法(目前尚未研究到,后续会深刻研究)。io
啊!时间飞快,十点了,得回去了。还要一个小时的地铁哦~明天公司年前的最后一次上线!哈哈,要回黑龙江了...老爸老妈我回来啦~ table
spring,我生活中的一部分... 春节回来落实街舞!...(哈哈,随意的yy下,但愿看到文章的前辈们多多多多的指点)容器