您的位置:首页 > 编程语言 > Java开发

Spring 入门(一) ——Spring设计之路的开始

2016-12-06 16:33 218 查看
本文转载自水门-kay的博客,博文地址:https://my.oschina.net/kaywu123/blog/610825

 

  看了水门-kay的博文,觉得写的很好,尤其是开头部分(后面的部分设计到了具体的spring知识,需要慢慢消化),怕以后找不到了,所以转载过来,留存一份,原文的内容很多,我只取了开头的一部分,如果想看原文,请点击上面水门-kay博文的地址。

 

一切都是从Bean开始的

   在1996年,Java还只是一个新兴的、初出茅庐的编程语言。人们之所以关注她仅仅是因为,可以使用Java的

Applet来开发Web应用。但这些开发者很快就发现这个新兴的语言还能做更多的事情。与之前的所有语言不同,Java

让模块化构建复杂的系统成为可能(当时的软件行业虽然在业务上突飞猛进,但当时开发用的是传统的面向过程开发

思想,软件的开发效率一直踟蹰不前。伴随着业务复杂性的不断加深,开发也变得越发困难。其实,当时也是面向对

象思想飞速发展的时期,她在80年代末被提出,成熟于90年代,现今大多数编程语言都是面向对象的,当然这是后话

了)。他们为Applet而来,为组件化而留。这便是最早的Java。

  同样在这一年的12月,Sun公司发布了当时还名不见经传但后来人尽皆知的JavaBean 1.00-A规范。早期的

JavaBean规范针对于Java,她定义了软件组件模型。这个规范规定了一整套编码策略,使简单的Java对象不仅可以被

重用,而且还可以轻松地构建更为复杂的应用。尽管JavaBean最初是为重用应用组件而设计的,但当时他们却是主要

用作构建窗体控件,毕竟在PC时代那才是主流。但相比于当时正如日中天的Delphi、VB和C++,他看起来还是太简易

了,以至于无法胜任任何"实际的"工作。

  复杂的应用通常需要诸如事物、安全、分布式等服务的支持,但JavaBean并未直接提供。所以到了1998年3

月,Sun发布了EJB 1.0规范,该规范把Java组件的设计理念延伸到了服务器端,并提供了许多必须的企业级服务,但

他也不再像早期的JavaBean那么简单了。实际上,除了名字,EJB Bean已经和JavaBean 没有任何关系了。

  尽管现实中有很多系统是基于EJB构建的,但EJB从来没有实现它最初的设想:简化开发。EJB的声明式编程模型的

确简化了很多基础架构层面的开发,例如事务和安全;但另一方面EJB在部署描述符和配套代码实现等方面变得异常

复杂。随着时间的推移,很多开发者对EJB已经不再抱有幻想,开始寻求更简洁的方法。

  现在Java组件开发理念重新回归正轨。新的编程技术AOP和DI的不断出现,他们为JavaBean提供了之前EJB才能拥

有的强大功能。这些技术为POJO提供了类似EJB的声明式编程模型,而没有引入任何EJB的复杂性。当简单的JavaBean

足以胜任时,人们便不愿编写笨重的EJB组件了。

  客观地讲,EJB的发展甚至促进了基于POJO的编程模型。引入新的理念,最新的EJB规范相比之前的规范有了前所

未有的简化,但对很多开发者而言,这一切的一切都来得太迟了。到了EJB 3规范发布时,其他基于POJO的开发架构

已经成为事实的标准了,而Spring框架也是在这样的大环境下出现的。

 

代码简洁之路

  RodJohnson的思考

  Rod Johnson这位澳大利亚的Java大师,很难想象,他除了在悉尼大学获得计算机学士学位以外还获得了音乐的博

士学位,或许正是他音乐的细胞成就了Spring独特简约和优雅。他在1996年就踏足Java开发,并且在C++方面也已经

有了很深厚的造诣。他常年从事保险、银行等企业的开发,是一个一切从现实出发的设计者以及勇敢的创新者。

  Rod Johnson在2002年编著的《Expert One-to-One J2EE Design and Development》一书中,对EJB框架的臃肿、

低效、脱离现实等种种现状提出了质疑,并积极寻求革新之道。以此书为指导思想,他编写了interface21框架,这

是一个力图冲破Java EE传统开发困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发

框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了

Spring 1.0正式版。同年他又推出了另一部堪称经典的力作《ExpertOne-to-One J2EE Development without

EJB》,该书在Java世界掀起了轩然大波,不断地改变着Java开发者程序设计和开发的思考方式。在该书中,作者根

据自己多年丰富的实践经验,对EJB的各项笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方法代

替。可以说,这本书中的代码诞生了Spring Framework。借此,Rod Johnson也奠定了他在Java世界中大师级人物的

地位。

 
设计伊始

  Spring 是为解决企业级应用开发的复杂性而设计,她可以做很多事。但归根到底支撑Spring的仅仅是少许的基本

理念,而所有地这些的基本理念都能可以追溯到一个最根本的使命:简化开发。这是一个郑重的承诺,其实许多框架

都声称在某些方面做了简化。

  而Spring则立志于全方面的简化Java开发。对此,她主要采取了4个关键策略:

  1,基于POJO的轻量级和最小侵入性编程;

  2,通过依赖注入和面向接口松耦合;

  3,基于切面和惯性进行声明式编程;

  4,通过切面和模板减少样板式代码;

 

  而他主要是通过:面向Bean、依赖注入以及面向切面这三种方式来达成的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息