在学习一个"新"知识之前,我们应该对跟它相关的概念进行一些简单的了解.在学习之前须要把自己放着一个更高的角度去看那些新知识,新概念.事实上经过一些宏观的认识便会发现,新知识之所以为新,大部分都是在旧知识的基础上的更新变化.
以下便是对SSH进行一个宏观的认识,俯视一下整个地图.
那么什么是SSH呢?
SSH 为struts+spring+hibernate的一个集成框架,是眼下较流行的一种轻量级Web应用程序开源框架。从这个简单的定义中我们须要知道两个概念:框架,轻量级.
框架即framework。事实上就是某种应用的半成品,把不同应用程序中有共性的一些东西抽取出来,做成一个半成品程序,这种半成品就是所谓的程序框架。能够简单理解为不同程序中的共同部分集合.
重量级. 推断量级主要是看容器的依赖性所决定的,依赖性越小,越轻量.轻量级框架側重于减小开发的复杂度,比較适用于开发中小型企业应用。重量级框架EJB框架则强调高可伸缩性,适合与开发大型企业应用。
为什么要选择SSH呢?
我们知道,一个优秀的框架可以非常好的帮我们解决又一次建立复杂问题方案的负担和精力.而SSH下面的特点便解释了为什么选择它.
需求变更:需求变更是软件project里的家常便饭,我们不可以阻止它,可是可以做到在有变化的情况下尽量保证软件的原有部分.尽量降低对软件实现的改变.
开发效率:由于採用优秀的解耦框架,相对于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进行进一步的学习.在学习的过程中对旧知识对照,对新知识总结.