SSH三个框架优缺点

1.SSHIntroduction

SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。如下图1所示为SSH的架构图.
SSH与jFinal如何决舍

Web层,就是MVC模式里面的“C”(controller)与“V”(View),负责控制业务逻辑层与页面的交互与展现,在SSH架构中,Struts充当controller,JSP充当View。

Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。

DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。

PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。

 

1.1 Struts的优劣势

SSH与jFinal如何决舍

SSH与jFinal如何决舍

 

1.2 Spring的优劣势

 

Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。

SSH与jFinal如何决舍

SSH与jFinal如何决舍

 

1.3 Hibernate的优劣势

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

优点:

 

  • 1)     Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。
  • 2)     Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和AppServer 没有任何关系,也不存在兼容性问题。
  • 3)     Hibernate不能用来直接和EntityBean 做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是EntityBean 的替代者出现的,
  • 4)     Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
  • 5)     Hibernate可以应用在任何使用JDBC的场合。
  • 6)     Hibernate使用Java反射机制而不是字节码增强程序来实现透明性。
  • 7)     Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
  • 8)     它支持各种关系数据库,从一对一到多对多的各种复杂关系。

缺点:

 

  • 1)     它限制所使用的对象模型。(例如,一个持久性类不能映射到多个表)。
  • 2)     较JDBC,Hibernate更消耗内存。
  • 3)     对于小型项目,Hibernate开发效率低。

 

2.jFinal Introduction

jFinal的相关介绍,请参阅http://code.google.com/p/jfinal/

 

SSH与jFinal如何决舍

3.TheComparison

 

不可否认,SSH与jFinal都是非常优秀的架构,两者都有各自的优点,如何进行取舍取决于项目与项目组成员的实际情况!

 

SSH与jFinal如何决舍

 

 

注:*表示所在项具有相对优势

--------------------- 本文来自 键盘上的钢琴师_v5 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/daijin888888/article/details/50800887?utm_source=copy

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值