文档库 最新最全的文档下载
当前位置:文档库 › SSH和SSM对比

SSH和SSM对比

SSH和SSM对比
SSH和SSM对比

Java Web J2EE下的两大框架SSH和SSM对比注重效率不注重质量的公司很爱用SSH。SSH属于J2EE里的高级技术,

SSH:spring+Struts2+hibernate

SSM:Spring+SpringMVC+MyBaitis

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都是自动生成的,不太好进行人工的优化。

SSH和SSM对比总结

https://www.wendangku.net/doc/6617621145.html,/pingdouble/article/details/52848007 ssm框架理解/ssh和ssm的对比

https://www.wendangku.net/doc/6617621145.html,/s/blog_9b86bcbf0102x761.html

相关文档