现在的位置: 首页 > 综合 > 正文

对spring的独特解释~~

2013年01月19日 ⁄ 综合 ⁄ 共 1092字 ⁄ 字号 评论关闭

一个牛人对sping的比喻~~~不知道有人发过没!

大名鼎鼎的Spring框架 
有人曾说2005年一片叫春之声,指的就是该框架 
Spring起源于Rod Johnson的《Expert One-on-One J2EE Design and Development》一书 
Rod Johnson认为,J2ee里面的那一套//尤其是ejb 
太重了,对于单机的系统来说,没有必要使用那么复杂的东西 
于是就开始设计并引导Spring小组开发出这样一个构架 
不能不说他是个天才,因为的的确确不是所有的系统都是跨多服务器的 
没有必要把一个简单的系统设计得那么复杂//天才的那几个共性又体现出来了 
Spring从诞生之日起就是针对EJB的,力争在不少应用上取代EJB 
而它也确实达到了这个目的 
现在包括WebLogic等主流应用服务器还有主流IDE都开始逐渐接受该框架 
并提供相应支持 
提到Spring就不能不说控制反转Ioc//Inversion of Control 
和依赖注射DI//Dependency Injection 
什么叫控制反转呢? 
套用好莱坞的一句名言就是:你呆着别动,到时我会找你。 
什么意思呢?就好比一个皇帝和太监 
有一天皇帝想幸某个美女,于是跟太监说,今夜我要宠幸美女 
皇帝往往不会告诉太监,今晚几点会回宫,会回哪张龙床,他只会告诉太监他要哪位美女 
其它一切都交由太监去安排,到了晚上皇帝回宫时,自然会有美女出现在皇帝的龙床上 
这就是控制反转,而把美女送到皇帝的寝宫里面去就是注射 
太监就是是框架里面的注射控制器类BeanFactory,负责找到美女并送到龙床上去 
整个后宫可以看成是Spring框架,美女就是Spring控制下的JavaBean 
而传统的模式就是一个饥渴男去找小姐出台 
找领班,帮助给介绍一个云云,于是领班就开始给他张罗 
介绍一个合适的给他,完事后,再把小姐还给领班,下次再来 
这个过程中,领班就是查询上下文Context,领班的一个职能就是给客户找到他们所要的小姐 
这就是lookup()方法,领班手中的小姐名录就是JNDI//Java Naming and Directory Interface 
小姐就是EJB,饥渴男是客户端,青楼是EJB容器 
看到区别了么?饥渴男去找小姐出台很麻烦,不仅得找,用完后还得把小姐给还回去 
而皇帝爽翻了,什么都不用管,交给太监去处理,控制权转移到太监手中去了 
而不是皇帝,必要时候由太监给注射进去就可以了 
看到Spring的美妙了吧,Spring还提供了与多个主流框架的支持 
可以和其它开源框架集成 

呵呵~看了之后感觉真想笑,不过比喻得倒很到位!

抱歉!评论已关闭.