大家好,我是威哥,今天我给大家分享Java的三大框架是什么。

在SpringBoot出现之前,我们常说的三大框架是 Spring、SpringMVC、Mybatis(SSM),而在SpringBoot出现之后,SpringBoot慢慢开始占据了主流地位,另外在SSM之前还有一个业内流行的SSH框架。

接下来威哥就给大家具体聊聊这些框架,在这篇文章中,威哥会涉及到如下几个问题:

一、什么是SSH?

Struts、Spring和Hibernate ,简称SSH。

在10多年前,SSH绝对是业内最流行的企业级开发框架。

SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。具体优势如下:

  • 框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。

  • 由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。

  • 与Spring的AOP机制相互独立,互不影响。

  • 使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。

  • 良好的扩展性和维护性。

二、什么是SSM?

SSM框架是Spring+SpringMVC+MyBatis三个框架整合而成的,其实SpringMVC属于Spring框架,所以SSM框架其实就是Spring和Mybatis两个框架的整合运用。那SSM框架的优势又有哪一些呢?

  • 对于MVC模式的实现,SpringMvc更加的轻量。由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。

  • Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。

三、SSH框架和SSM框架的区别

两个框架的主要区别在于两点。

  • 第一,MVC分离的实现方式中前者为Struts,后者为SpringMVC;

  • 第二,持久层的框架前者为Hibernate,后者为MyBatis,所以这两个框架几乎所有的不同都是由这两点产生的。

四、Struts对比SpringMVC

  • 由于SpringMVC针对方法进行设计,而Struts针对类进行设计,相对来讲SpringMVC的速度相对更快。

  • SpringMVC配置更加简单,可以说完全0配置,开发效率更高。SpringMVC的学习门槛更低,使用更简单。

  • SpringMVC扩展性更强,更灵活。

五、Hibernate对比MyBatis

MyBatis更加轻量,学习门槛更低,但相对功能全面性来讲Hibernate更好。如果你的项目中仅仅使用简单的增删改查功能,选用Hibernate会让你节省不少的开发时间。

反之如果需要使用到较多的sql复杂语句,则选用MyBatis更加灵活。MyBatis默认的SQL查询性能更高,而Hibernate会进行所有字段查询,性能就相对较低了。

Hibernate有自己的日志统计功能,而MyBatis需要使用Log4j实现。MyBatis缓存特性相对Hibernate更高。

扫码开启学习

免费Java资源获取

更多推荐

Java业内主流框架你知道吗?SSH和SSM有什么区别?