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都是自动生成的,不太好进行人工的优化。
ssh跟ssm的区别的更多相关文章
- SSH和SSM的区别
一怒成仙 博客园 首页 新随笔 联系 管理 订阅 随笔- 54 文章- 1 评论- 0 SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,M ...
- [转]关于SSH与SSM的组成及其区别
前言 当下SpringBoot盛行,咱再聊聊SpringBoot盛行之前的框架组合,当做复习巩固哈. 在聊之前,得先说说MVC,MVC全名是Model View Controller,是模型(mode ...
- 关于SSH与SSM的组成及其区别
前言 当下SpringBoot盛行,咱再聊聊SpringBoot盛行之前的框架组合,当做复习巩固哈. 在聊之前,得先说说MVC,MVC全名是Model View Controller,是模型(mode ...
- SSH和SSM对比总结
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- [转]SSH和SSM对比总结
原文地址:https://blog.csdn.net/peak_and_valley/article/details/52925032 当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知 ...
- SSH和SSM的比较
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- Java Web学习总结(28)——Java Web项目MVC开源框架SSH和SSM比较
SSH和SSM定义 SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做控制 ...
- SSH和SSM对比(一)
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- Java Web J2EE下的两大框架SSH和SSM对比
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
随机推荐
- 在Linux下用make指令编译进度条程序。
首先建立一个新的文件,touch progress_bar.c 运行该vim progress_bar.c命令.写进度条的程序. 写进一个进度条程序: #include<stdio.h> ...
- 配置文件报错:不允许有匹配 [xX][mM][lL] 的处理指令目标。
http://www.68idc.cn/help/buildlang/ask/20150108163110.html ————————————————————————————————————————— ...
- 百度地图的demo提示key验证错误!错误码:230;
在已经有BaiduMap的APIKey后使用AndroidStudio导入Baidu地图的as版的demo,提示key验证错误!错误码:230; 首先,因为百度地图demo中用自己的keystore文 ...
- 1、QT分析之QApplication的初始化
原文地址:http://blog.163.com/net_worm/blog/static/1277024192010097430321/ 在开始分析之前交代一下,一是分析的QT在Window平台实现 ...
- html 旋转
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于Unity中Vector2和Vector3的使用
Vector2是用来定义和描述2D游戏内部的一些参数,像刚体的速度等等 Vector3是 1.鼠标点击屏幕后要转化为3D坐标的时候用到的定义和描述 2.两个物体之间的相对距离,或者说偏移量的变量类型
- WEB打印(jsp版)
<%@ page contentType="text/html; charset=UTF-8" language="java"%> <%@in ...
- 部署基于Maven的war文件到Tomcat
在本教程中,我们将学习如何使用Maven的Tomcat插件打包并部署一个WAR文件到Tomcat(Tomcat的6和7. 要用到工具: Maven 3 Tomcat 6.0.37 Tomcat 7.0 ...
- install sun-java6-jdk in ubuntu12.04
http://blog.sina.com.cn/s/blog_6296abc601018p86.html 在文件/etc/apt/sources.list 的最后添加下面的源: deb http:// ...
- tf.variable_scope
转载:https://blog.csdn.net/gaoyueace/article/details/79079068 例如: #在名字为ae的命名空间内创建变量 with tf.variable_s ...