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)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
随机推荐
- UI设计,使用 线框图(页面示意图或页面布局图)
在进行页面框架设计的时候,尝试画个 线框图(页面示意图或页面布局图)吧.
- 在android程序中打开另一个应用程序
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...
- OpenStack配置解析库oslo.config的使用方法
OpenStack的oslo项目旨在独立出系统中可重用的基础功能,oslo.config就是其中一个被广泛使用的库,该项工作的主要目的就是解析OpenStack中命令行(CLI)或配置文件(.conf ...
- DNS Bind服务配置解析
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 一.DNS服务器工作模式分类: 1.主服务器:在特定区域内具有唯一 ...
- R语言绘制花瓣图flower plot
R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...
- log4net 日志配置及使用
一.log4net按照不同的[LEVEL]级别输出到不同文件 <log4net> <!--错误日志:::记录错误日志--> <!--按日期分割日志文件 一天一个--> ...
- ubuntu 12.04和Windows 7双系统的安装方法
ubuntu是一个操作系统,和安卓一样同是linux内核下的子民,所以来这贡献一下,也求JW放出安卓4.0原生正式版,我只想要这个. 前几天发布了ubuntu12.04LTS 版本,兴奋ing. 看到 ...
- 关于Struts2的多文件上传
之前写过一篇文章,关于Struts2文件上传:http://www.cnblogs.com/lichenwei/p/3927964.html 现在来说下多文件上传,其实就把上传文件当成是一个数组去处理 ...
- XcenServer和XcenCenterter的安装
XcenServer安装 安装在客户端(作为服务器的电脑) 准备工具:U盘(4G以上).uiso9(iso刻录) 步骤一:下载ISO文件, 下载地址:https://xenserver.org/ove ...
- 【WP8】为Webbrowser添加ScrollBar
在WP8中,控件WebBrowser没有提供对滚动条的支持,而在内置的IE中,却可以显示出滚动条(微软这是在坑我们吗),但如果在客户端使用Webbrowser的话,自己构造ScrollBar来显示 通 ...