zoukankan      html  css  js  c++  java
  • SSH与jFinal如何决舍

    1SSH Introduction

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

    SSH与jFinal如何决舍

    Web层,就是MVC模式里面的“C”(controller)与“V”(View),负责控制业务逻辑层与页面的交互与展现,在SSH架构中,Struts充当controllerJSP充当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/JSPWeb应用中使用,最具革命意义的是,Hibernate可以在应用EJBJ2EE架构中取代CMP,完成数据持久化的重任。

    优点:

     

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

    缺点:

     

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

     

    2jFinal  Introduction

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

     

    SSH与jFinal如何决舍
    3The Comparison

     

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

     

    SSH与jFinal如何决舍

     

     

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


  • 相关阅读:
    Windows server 2016 解决“无法完成域加入,原因是试图加入的域的SID与本计算机的SID相同。”
    Windows Server 2016 辅助域控制器搭建
    Windows Server 2016 主域控制器搭建
    Net Framework 4.7.2 覆盖 Net Framework 4.5 解决办法
    SQL SERVER 2012更改默认的端口号为1772
    Windows下彻底卸载删除SQL Serever2012
    在Windows Server2016中安装SQL Server2016
    SQL Server 创建索引
    C#控制台或应用程序中两个多个Main()方法的设置
    Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317961.html
Copyright © 2011-2022 走看看