在学习一个"新"知识之前,我们应该对跟它相关的概念进行一些简单的了解.在学习之前需要把自己放着一个更高的角度去看那些新知识,新概念.其实经过一些宏观的认识便会发现,新知识之所以为新,大部分都是在旧知识的基础上的更新变化.
下面便是对SSH进行一个宏观的认识,鸟瞰一下整个地图.
那么什么是SSH呢?
SSH 为struts+spring+hibernate的一个集成框架,是目前较流行的一种轻量级Web应用程序开源框架。从这个简单的定义中我们需要知道两个概念:框架,轻量级.
框架即framework。其实就是某种应用的半成品,把不同应用程序中有共性的一些东西抽取出来,做成一个半成品程序,这样的半成品就是所谓的程序框架。可以简单理解为不同程序中的共同部分集合.
重量级. 判断量级主要是看容器的依赖性所决定的,依赖性越小,越轻量.轻量级框架侧重于减小开发的复杂度,比较适用于开发中小型企业应用。重量级框架EJB框架则强调高可伸缩性,适合与开发大型企业应用。
为什么要选择SSH呢?
我们知道,一个优秀的框架能够很好的帮我们解决重新建立复杂问题方案的负担和精力.而SSH以下的特点便解释了为什么选择它.
需求变更:需求变更是软件工程里的家常便饭,我们不能够阻止它,但是可以做到在有变化的情况下尽量保证软件的原有部分.尽量减少对软件实现的改变.
开发效率:因为采用优秀的解耦框架,相对于MODEL1框架而言能够更优秀的减少软件的耦合度.显示层的改变和错误不会扩展到业务逻辑层.同时也因为减少耦合可以让各个层之间同时进行.大大提高开发效率.
以上两点只是笼统的说了一下使用SSH框架的好处.具体的体现还要从SSH框架的特点和作用来进行.
SSH能做什么?
- Struts就是一个MVC的架构,在控制器,视图和模型方面都有其特定的组件,在SSH框架中,更多的是利用了Controller这个组件。
- Spring实现了反转控制(Inversion of Control)和面向方面编程(Achievement-Oriented Programming)。Spring框架的能实现应用的分层架构,在应用中要使用的对象可以被一个简单的XML文件连在一起,这个XML文件含有到像事务管理器、对象工厂、包含业务逻辑的服务对象、和数据存取对象这些对象的引用。
- Hibernate是一种ORM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate,可以大大减少操作数据库的工作量。
使用Structs+Spring+Hibernate的项目主要是在web层利用了struts的mvc框架,在数据库层用hibernate的数据库访问功能,在bean管理和服务方面利用spring的ioc和aop.
和以前学过的知识有什么联系?
通过对上面的基本概念了解,其中说到了以前很多学到过的知识点,下图中为一部分内容的联系.
至此,我们已经对SSH框架有一个初步的了解.已经鸟瞰了SSH的地图.接下来会对SSH进行进一步的学习.在学习的过程中对旧知识对比,对新知识总结.