SSH为 struts2+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccess Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
Spring有如下优点:
1.低侵入式设计,代码污染极低
2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦
4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问
6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
Hibernate的优点
Hibernate除了上面所说的可以减少代码量还有下面的优点:
1. 提高生产力
因为是基于JDBC的封装,所以代码更加简练了,生产力自然得到了提高。
2. 使开发更加对象化
因为Hibernate是对ORM(对象/关系数据库映射)的一个很好的实现。
所以它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,
完全的面向对象思想。
3. 可移植性
Hibernate中不涉及sql语句,sql语句虽然是标准的,但是各个数据库厂商会有
不同,使用hibernate标准API,会自动转换成相应的数据库sql语句,关键是
4. 支持透明持久化
Hibernate的API没有侵入性(即所编写的类不需要继承Hibernate的API),对
于实体类来说,既可以使用普通的JDBC,也可以使用Hibernate。
struts2的优点:
(1) 实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现。
(2) 丰富的标签库,大大提高了开发的效率。
(3) Struts2提供丰富的拦截器实现。
(4) 通过配置文件,就可以掌握整个系统各个部分之间的关系。
(5) 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理。