44--鸟瞰Spring
Spring在我眼里是一个精简的J2EE应用程序框架,它最为突出的特点提供一种新的机制来管理业务对象其依赖关系。这个就是因Spring而推广的控制反转,控制反转的原理其实很是简单,我会在后面的章节作介绍。在依赖注入也是其中一个特点。Spring中可以指定一个DAO类依赖一个DataSource类。Spring鼓励接口编程,让xml文件作桥一样把这些功能得以实现。Spring本身的类都可以支持原有或新增的的框架像Struts,hibernate,mybatis,velocity,还有MVC的模式,集成起来相对还是比较简单的。Spring的开发也遵循了设计模式,但是已经只需要你按套路出牌就可以,你可能都不需要对设计模式理解很深。
Spring工作原理是通过配置实现的,说到底应该是对于bean的配置。这些bean类带有getter和setter方法。Spring 正是通过类暴露setter,getter方法来实现依赖注入关系的。而这种方式在之前也提起过,有一个属于叫控制反转,起主要功能就是能够让spring让相互依赖的对象能够一一的贯穿起来。Spring的底层库是由7个jar文件组成的,这几个文件分别代表了Spring所持有的功能,依次是Aop,Orm,Dao,web,context,mvc,core。这7个Jar包基本上涵盖了J2EE编码的规范,但是比起之前的J2EE,它还是大大的简化了流程。第一次使用Spring编码感受最为明显的就是,让你拥有一个方便管理并且有扩展性的程序,Spring的多层编码设计让接口编程成为主流。在此之前,搞J2EE编程我们知道是三层编码:数据层,业务逻辑层,用户界面。(声明一下,在06年用Spring之前,我只接受过J2EE的培训,并未做过相关的J2EE的项目)在培训中,我曾学习到是需要用工厂方法和抽象方法的模式,。不但要写两个类来进行相关的设置,还需要引入管理被工厂化的类的依赖关系的内容。反正觉得比较啰嗦麻烦。初次用Spring发现它是用来绑定接口和其实现。所有的东西都是在xml文件中配置,你只要修改一直xml文件就可以方便切换到另一种实现,所以感觉这种方法还是很好理解的。Spring是通过它的ApplictionContext来获得一个实例化的对象。对象都定义在一个简单的xml文件里,由一系列的bean元素组成。就像装载的一个对象的卡车,随时可以调用。Spring的ORM也是支持非常到位的,在应用程序各层之间,各依赖关系中解耦及处理配置和绑定一个类的依赖关系时变得更为方便。
(未完待续............)