什么是三大框架?SSH和SSM的区别在哪里?

一. 前置概念1.什么是框架
所谓框架,其实就是一个半成品的软件项目,是一个可复用的设计构件 。我们可以在这些半成品的基础之上 , 来开发我们自己的应用 。比如咱们租一个写字楼来开公司,就可以在原有的公共设施(水,电,煤气,物业,网络)基础之上进一步改造装修,进而开展自己的业务 。
2. 什么是三层架构
一般来讲 , java应用在视图和数据库之间,被认为是一种开发中间件的语言 。为了解耦,我们通常又把中间件划分为三层 即:表现层(控制层),业务逻辑层,数据访问层 。数据访问层是访问数据库的 , 控制层则专门负责和前端交互,如下如所示:

什么是三大框架?SSH和SSM的区别在哪里?

文章插图
二. 什么是三大框架1.简介
大约在2015年之前,业内使用最多的Java三大框架是Struts、Spring和Hibernate ,简称SSH 。
2015年之后逐步被SpringMVC、Spring、MyBatis所取代,简称SSM 。
接下来耀哥就给大家阐述一下SSH和SSM的异同点 。
2. 分层比较三大框架
2.1 Struts和SpringMVC比较
相同点:
都是实现了mvc模式的 控制层框架,可以专门处理和前端的交互 。
不同点:
a. Struts2中的Controller是多例的,SpringMVCController是单例的,所以SpringMVC是线程不安全的;
b. SpringMVC是Spring框架中的一个子模块,所以SpringMVC和Spring整合时更加简单,配置也更加容易 。
2.2 Hibernate和MyBatis比较
相同点:
都是实现了orm模式的数据访问层框架,专门处理和数据库的交互 。
不同点:
a. Hibernate通常被认为是一款完全的ORM框架 。我们使用Hibernate时可以一行SQL语句都不用写,就能实现各种对数据库操作的意图 。而Mybatis只是一款半完整的ORM框架,使用Mybatis需要自己编写SQL语句,因此Hibernate在功能和可移植性方面要强于Mybatis 。
【什么是三大框架?SSH和SSM的区别在哪里?】b. 相对于Hibernate来说,Mybatis需要关注更多的细节,更加接近jdbc的开发模式,这使得Mybatis更加容易上手 。
c. 在SQL优化方面,Mybatis更加直接,更加方便 。
d. Mybatis比Hibernate更加小巧灵活 , 对绝大多数项目来说,Mybatis足以满足项目需求,所以现在Mybatis比HIbernate更常用 。
3. Spring
SSM和SSH组合中,都有Spring这个框架,所以足见Spring这个框架在Java开发中有着不可替代的地位 。Spring框架最大的功能是对组件进行管理和整合其他框架,可以把其他的一些商业组件无缝