Java Web传统SSH框架与JFinal框架比较

1.SSHIntroduction

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

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的优劣势

Java Web传统SSH框架与JFinal框架比较_第2张图片

Java Web传统SSH框架与JFinal框架比较_第3张图片

1.2 Spring的优劣势

 

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

Java Web传统SSH框架与JFinal框架比较_第4张图片

Java Web传统SSH框架与JFinal框架比较_第5张图片

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/

 

Java Web传统SSH框架与JFinal框架比较_第6张图片
3.TheComparison

 

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

 

Java Web传统SSH框架与JFinal框架比较_第7张图片

 

 

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

你可能感兴趣的:(【Java,Web】)