什么是三大框架?SSH和SSM有什么区别
麻烦介绍下什么是三大框架?SSH和SSM有什么区别
推荐答案
一. 前置概念
1.什么是框架
所谓框架,其实就是一个半成品的软件项目,是一个可复用的设计构件。我们可以在这些半成品的基础之上,来开发我们自己的应用。比如咱们租一个写字楼来开公司,就可以在原有的公共设施(水,电,煤气,物业,网络)基础之上进一步改造装修,进而开展自己的业务。
2. 什么是三层架构
一般来讲,java应用在视图和数据库之间,被认为是一种开发中间件的语言。为了解耦,我们通常又把中间件划分为三层 即:表现层(控制层),业务逻辑层,数据访问层。数据访问层是访问数据库的,控制层则专门负责和前端交互,如下如所示:
二. 什么是三大框架
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。
b. 相对于Hibernate来说,Mybatis需要关注更多的细节,更加接近jdbc的开发模式,这使得Mybatis更加容易上手。
c. 在SQL优化方面,Mybatis更加直接,更加方便。
d. Mybatis比Hibernate更加小巧灵活,对绝大多数项目来说,Mybatis足以满足项目需求,所以现在Mybatis比HIbernate更常用。
3. Spring
SSM和SSH组合中,都有Spring这个框架,所以足见Spring这个框架在Java开发中有着不可替代的地位。Spring框架最大的功能是对组件进行管理和整合其他框架,可以把其他的一些商业组件无缝的整合到我们的应用当中。