在SpringBoot出现之前,常说的三大框架是 Spring、SpringMVC、Mybatis(SSM),而在SpringBoot出现之后,SpringBoot慢慢开始占据了主流地位,另外在SSM之前还有一个业内流行的SSH框架。
接下来小编就给大家具体聊聊这些框架,在这篇文章中,小编会涉及到如下几个问题:
1.什么是SSH?
Struts、Spring和Hibernate ,简称SSH。
在10多年前,SSH绝对是业内最流行的企业级开发框架。
SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。具体优势如下:
框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。与Spring的AOP机制相互独立,互不影响。使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。良好的扩展性和维护性。
2. 什么是SSM?
SSM框架是Spring+SpringMVC+MyBatis三个框架整合而成的,其实SpringMVC属于Spring框架,所以SSM框架其实就是Spring和Mybatis两个框架的整合运用。那SSM框架的优势又有哪一些呢?
对于MVC模式的实现,SpringMvc更加的轻量。由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。
3. SSH框架和SSM框架的区别
两个框架的主要区别在于两点。第一,MVC分离的实现方式中前者为Struts,后者为SpringMVC;第二,持久层的框架前者为Hibernate,后者为MyBatis,所以这两个框架几乎所有的不同都是由这两点产生的。
4. Struts对比SpringMVC
由于SpringMVC针对方法进行设计,而Struts针对类进行设计,相对来讲SpringMVC的速度相对更快。SpringMVC配置更加简单,可以说完全0配置,开发效率更高。SpringMVC的学习门槛更低,使用更简单。SpringMVC扩展性更强,更灵活。
5. Hibernate对比MyBatis
MyBatis更加轻量,学习门槛更低,但相对功能全面性来讲Hibernate更好。如果你的项目中仅仅使用简单的增删改查功能,选用Hibernate会让你节省不少的开发时间。反之如果需要使用到较多的sql复杂语句,则选用MyBatis更加灵活。MyBatis默认的SQL查询性能更高,而Hibernate会进行所有字段查询,性能就相对较低了。Hibernate有自己的日志统计功能,而MyBatis需要使用Log4j实现。MyBatis缓存特性相对Hibernate更高。