zoukankan      html  css  js  c++  java
  • ssh跟ssm的区别

    SSH跟SSM的区别

    SSH指的是:spring+Struts+hibernate;而SSM指的是:spring +SpringMVC + MyBatis。 


    1、Spring是是开源框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。 
    1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。Spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法注入。 
    2)AOP面向切面编程 
    aop就是纵向的编程,如果业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码。 
    spring中面向切面变成的实现有两种方式,一种是动态代理,一种是CGLIB,动态代理必须要提供接口,而CGLIB实现是有继承。 


    Spring框架优点 

    1)轻量级的容器框架没有侵入性 
    2)使用IoC容器更加容易组合对象直接间关系,面向接口编程,降低耦合 
    3)Aop可以更加容易的进行功能扩展,遵循ocp开发原则 
    4)创建对象默认是单例的,不需要再使用单例模式进行处理 


    2、SpringMVC与Struts : 


    1)两者有个共同之处,那就是两者都数据javaweb层的开发框架,都是mvc模式的的经典产品,都实现了页面分离控制的功能,但是两者之间是有区别的。 
    2)在开发中,人们更愿意使用SpringMVC而不是Struts。因为SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。在扩展和灵活性上更胜一筹。 
    3)Struts的优势在于静态注入,插件机制和拦截器链,但是struts存在漏洞,经常会被作为攻击点进行冲击。相比更加安全简单的SpringMVC,开发者渐渐开发放弃了它。 


    3、Hibernate 与MyBatis: 


    1)Hibernate与Mybatis都是流行的持久层开发框架,一句话概括:MyBatis 简单易上手; 
    2)hibernate成熟,市场推广率高。 
    3)MyBatis可以进行更为细致的SQL优化,可以减少查询字段。 
    4)MyBatis容易掌握,而Hibernate门槛较高。 
    5)更重要的是,mybatis提供了对应各种用途、功能的插件,而hibernate在这一方面是远远比不上mybatis的。 
    6)Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。 
    7)Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。 
    8)Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。 
    9)Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。 
    10)但是hibernat缺点很明确,如果涉及到多张关联表的调用时: 
      1. 多表关联等比较复杂,使用的成本并不低; 
      2. 效率比较低,在大型项目中很少会使用到它,因为sql都是自动生成的,不太好进行人工的优化。

  • 相关阅读:
    剑指Offer 14. 最长公共前缀
    SpringCloud学习笔记【一】:多模块聚合工程基本环境搭建
    SpringCloud学习笔记【零】:官方文档翻译之简介
    SpringBoot利用AOP巧妙记录操作日志
    SpringBoot中BeanValidation数据校验与优雅处理详解
    解决:IDEA无法创建Java文件,只能创建kotlin文件
    SpringBoot实现文件上传功能详解
    SpringBoot快速瘦身,快速部署jar
    SpringBoot的外部化配置最全解析!
    IDEA解决yml配置文件中文输出乱码问题
  • 原文地址:https://www.cnblogs.com/justdoitba/p/8184122.html
Copyright © 2011-2022 走看看