zoukankan      html  css  js  c++  java
  • ssh优缺点

    面试归来

    技术面试官叫我谈谈 ssh优缺点

    平时用起来倒是挺顺手..但是从来没有系统的总结过..导致很多点会都没有说出来..

    这次我认真总结了一下...


    常说的好处 开源
    常说的坏处 配置文件过大我就不提了


    struts 

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

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

    不熟悉:
              struts标签库没怎么用过(常用jstl)
              国际化只学过,没用过.停留在demo级别
              validation.xml(配置文件写多了,有时候也想逃避)
              支持表现层技术单一(一直作为struts的缺点来说...但是我也就会jsp而已)


    Spring 

    优点:
              IoC虽然不好形容,但是我从最开始接触spring时就觉得这是个很大的优点
              aop(我自己写过的aop就只有日志...)
              对象容器
                    管理对象的生命周期(集成struts摆脱线程问题)
              测试也变得方便
              多数代码没有侵入spring的API
              对于hibernate有很好的支持

              还有很多好处(权限,email支持,调度任务,权限,事务等等),我把我知道的对于ssh的尽量总结出来

    缺点:
              缺点我不好提出来..without ejb我没看过..甚至ejb我也不会..
              我也就简单用用...不过我听说过这些缺点(如果有错请及时指正)

              如果开发者设计不出合理的接口.导致一改就改多处.反而造成不便
              不支持分布式部署。
              不是一站式方案(开放的体系和封闭的体系这种话题我从来参与不进去..但是还是常看看的)

     

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


    hibernate 

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

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

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

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

     

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

    错觉:
              hibernate对于瑕疵的处理不够
              比如:有entity-name的映射 save 就抛错这是我很久以前就发现的问题..一直没有得到修正..难道这不是问题?


    可能高手从我总结就可以看出我水平有多菜....

    不过还是不要吝惜口水 喷我吧..

    在javaeye被喷 只会使我进步  面试时候被喷 少的就是机会了

     

     

     

    内容更改记录:

     

    javaeye_id 修改原因(也就是回复部分内容)
    xiaoyuqi00 hibernate优点:非侵入式设计
    这点我不怎么认同,如果你用hql的话很数据层就很麻烦了,虽然hibernate支持sql但是既然用hibernate,那首选肯定是hql或者criteria
    geeksun

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

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

     

  • 相关阅读:
    java 异常处理
    前端 网页宽高常用属性
    java 图片裁剪代码
    Eclipse常用设置
    SpringCloud Sleuth入门介绍
    Spring cloud stream【消息分区】
    Spring cloud stream【消息分组】
    Spring cloud stream【入门介绍】
    SpringCloud-分布式配置中心【加密-非对称加密】
    SpringCloud-分布式配置中心【加密-对称加密】
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247304.html
Copyright © 2011-2022 走看看