SSH和SSM区别

SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层。
SSM 则指的是 SpringMVC 做控制器(controller),Spring 管理各层的组件,MyBatis 负责持久化层。

一、Controller层面
共同点:1.Spring依赖注入DI来管理各层的组件。2.使用面向切面编程AOP管理事物、日志、权限等。
不同点:

(1)Strust

struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入
struts2实际上是通过setter getter方法与request打交道的
struts2中,一个Action对象对应一个request上下文

缺点:其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了

(2)SpringMVC

springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应

二、持久层

(1)hibernate

1、Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好

2、hibernate二级缓存:

使用场景:数据不会被第三方修改,数据大小在可接收范围之内,数据更新频率低,有点类似volatile关键字

3、Hibernate的查询会将表中的所有字段查询出来

(2)MyBatis

1、MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好

2、MyBatis可以进行更为细致的SQL优化,可以减少查询字段

总结:

1、hibernate数据库移植性好,有懒加载,查询映射到你OO模型的查询语言

2、针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap

原文地址:https://www.cnblogs.com/zhuziyu/p/8506846.html

时间: 2024-08-26 18:27:43

SSH和SSM区别的相关文章

SSH和SSM的区别

SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层. 共同之处是都使用了Spring的依赖注入DI来管理各层的组件,使用了面向切面编程AOP来实现日志管理,权限认证,事务等通用功能的切入. 不同之处是 Struts2 和 SpringMVC 做前端控制器的区别,以及 Hibernate 和 MyBatis 做持久化时的区别

解析SSH和SSM两大框架的组成及其区别

前言 熟悉当下流行的两种企业开发MVC开源框架,是Java程序猿必备知识.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写.M是指业务模型,V是指用户界面,C则是控制器.一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.小编在学校的时候学习过SSH,SSM则是去公司后用的. 一.SSH 和 SSM 的定

SSH和SSM对比总结

当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.框架之所以流行,在于其易复用和简化开发,精髓在思想,掌握了核心思想,我们掌握其他类似框架也不会有问题,建议大家有精力的话读一下框架源码,尤其是spring. SSH和SSM定义 S

SSH和SSM的比较

当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.框架之所以流行,在于其易复用和简化开发,精髓在思想,掌握了核心思想,我们掌握其他类似框架也不会有问题,建议大家有精力的话读一下框架源码,尤其是Spring. SSH和SSM定义 S

SSH或者SSM开发web,mysql数据库,数据库配置文件配置不当~数据库读写数据乱码问题解决办法。

相信,大家都有遇到过在传入一个中文string,debug自己的每一行代码时,都发现始终是没有乱码的(即:排除了,源码文件的编码格式是没问题的),但是数据进入数据库之后就是乱掉了. 那么很明显问题就出现在数据写入数据库的过程之中了(数据库设置的编码格式也是对的情况下).要是你SSH框架或者SSM框架开发,那么就要看 看数据库配置文和您的项目里的其他使用到数据库的连接的代码是否是如下这样写的,如果不是按照如下修改即可.当然出现乱码的原因的有很多,此法不行,还是 看看其他方法好了~

VPN和SSH的原理区别

原文:http://www.hostloc.com/thread-153223-1-1.html 看了http://www.hostloc.com/thread-153166-1-1.html 主要说tcp,udp是一样的 sock5和vpn的本质区别是,vpn模式没有使用代理服务器的协议站的功能,因为它仅仅是做包转发+NAT.这样就相当于客户端直接和服务器通信.所以客户端访问某个站点的时候,速度和没有vpn直接访问(假设刚好经过该代理服务器)速度类似. 而ssh有本质的区别,它在客户端本地之间

Git使用手册:HTTPS和SSH方式的区别和使用

在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地.这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处.而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者

java SSH框架 SSM框架 SSI框架 源码

开发快报: 页面打印功能,websocket 强制下线功能,玩转websocket技术  [金牌]获取[下载地址]   QQ: 313596790A 代码生成器(开发利器);     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都

java SSH框架 SSM框架 SSI框架 源码 Java全新高大尚HTML5 bootstrap后台框架源码

获取[下载地址 (劳动所得,不喜勿喷)] [免费支持更新]A 代码生成器(开发利器);全部是源码     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用 Java