zoukankan      html  css  js  c++  java
  • SSH的优缺点比较

    SSH优缺点

    常说的好处 开源
    常说的坏处 配置文件过大

    struts

    优点:
              收集,验证表单数据相比传统servlet简单
              优雅的实现可配置的请求转发

    缺点:
              属侵入设计(actionform,action都无法复用)
              与serlvetAPI严重耦合..无法摆脱容器
              action与web层耦合.不方便测试
              标准struts的action是非线程安全(很多简历上写着"精通Struts"的高手们都忽视的问题)

    Spring

    优点:
              IoC  aop
              对象容器
                    管理对象的生命周期(集成struts摆脱线程问题)
              测试也变得方便
              多数代码没有侵入spring的API
              对于hibernate有很好的支持
              权限,email支持,调度任务,权限,事务等等

    缺点:
              不支持分布式部署。
              不是一站式方案

               使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计。

    hibernate

    优点:
              ORM 使数据层更加对象化..摆脱所谓的阻抗不匹配
              sql方言的存在使得开发不用过多考虑 数据库差异 的问题
              非侵入式设计

    缺点:
              个人感觉熟练使用的话曲线太陡..(尤其对于多表间复杂查询)

              不太适合做复杂的select语句查询

    不熟悉:
              Transaction(一般都直接交给spring了..接触不错..demo级别)
              缓存机制(Session的缓存和SessionFactory的缓存(内置缓存和外置缓存))

               聚集性操作数据(这种时候jdbc也白费吧...还是存储过程)

    SSH优缺点:
    优点
    struts: 相对于之前的框架turbine和直接使用servlet,使用配置文件减少了代码的编写量,提高了易用性,以及对url管理的一致性,增加了表单验证、formbean等特性,提高了程序的规范性。还有一个很重要的优点是稳定性高,经过多年的使用,相比于其他的控制层框架,对稳定性高要求高的话,用struts可以保证稳定性。
    hibernate:相对于jdbc,以操作对象的方式去操作数据库,程序员可以不用考虑数据库的sql语句的具体形式,直接在对象上操作,对象在数据库上的操作,交给了hibernate API去转换执行。减少了代码量,减轻了程序的耦合度,与数据库无关。可以“一次编写,到处运行”。
    spring:令人称赞的是IOC、AOP和数据库事务的自动管理,集成对各种其他框架的良好支持,配置过程中高度动态化,低耦合和低侵入性,在应用中起一个小型容器(contaioner)的作用,可以管理在容器中的框架、servlet、bean,管理他们的生命周期和内存分配,具“一站式架构”的特点。
    缺点
    struts:action被设计成线程不安全的,配置文件众多、繁杂,代码和Servlet的耦合度比较高。
    hibernate:因为使用了ORM映射,把对对象的操作转换成对数据库的操作,实际上还是转成了调用JDBC来操作数据库,比直接使用JDBC的效率低。再者就是hibernate的特性强大,如果不深入了解hibernate的特性,发挥不出hibernate的强大特性。使用好hibernate的前提是对数据库和sql的高度熟悉,否则也用不好hibernate.
    spring:使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计。

  • 相关阅读:
    c#自动更新+安装程序的制作
    VS2013项目受源代码管理向源代码管理注册此项目时出错
    WinDbg配置和使用基础
    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
    PowerDesigner 如何生成数据库更新脚本
    用户故事(User Story)
    Troubleshooting Record and Playback issues in Coded UI Test
    Coded UI
    compare two oracle database schemas
    How to: Use Schema Compare to Compare Different Database Definitions
  • 原文地址:https://www.cnblogs.com/elenno/p/SSH_Advantage_Disvantage.html
Copyright © 2011-2022 走看看