Java中的SSM框架详解(java框架ssh和ssm百度)

createh54个月前 (02-01)技术教程48

Java SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。

相比于之前的SSH(Spring+Struts+Hibernate),SSM更加轻量化和灵活,是目前业界主流的Java Web开发框架。

Spring

Spring框架是一系列应用框架的核心,是整合其他应用框架的基础。也是Spring Boot的基础,Spring框架里面包含了Spring、SpringMVC、SrpingTest等。

Spring的优点总结:

1、非侵入式设计

Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

2、 方便解耦、简化开发

Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大的降低了组件之间的耦合性。

3、支持AOP

Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。

4、支持声明式事务处理

只需要通过配置就可以完成对事务的管理,而无需手动编程。

5、方便程序的测试

Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。

6、方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。

7、降低Java EE API的使用难度

Spring对Java EE开发中非常难用的一些API(如:JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

Spring MVC

SpringMVC有什么优点?

SpringMVC是spring框架的一个模块,是基于MVC的轻量级Web框架。Spring是目前Web开发中的一个很重要的部分。尤其在企业招聘相关开发者的时候,有大量的笔试和面试题目都与springMVC有关。

SpringMVC是一个典型教科书式的MVC框架,对于初学者而言是非常好的。其他优点可以概括为:

  1. SpringMVC可以支持各种试图技术,而不仅仅局限于JSP;
  2. 与Spring框架集成(如IoC容器、AOP等);
  3. 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver);
  4. 支持各种请求资源的映射策略;

SpringMVC的主要组件有什么?

  1. 前端控制器 DispatcherServlet。接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
  2. 处理器映射器HandlerMapping。根据请求的URL来查找Handler。
  3. 处理器适配器HandlerAdapter。在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
  4. 处理器Handler。编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。
  5. 视图解析器 ViewResolver。进行视图的解析,根据视图逻辑名解析成真正的视图(view)。
  6. 视图View。View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)。

MyBatis

MyBatis是一个基于Java的持久层框架,所谓的持久层框架就是专门用来将数据进行持久化的框架,也就是说将数据存储到数据库中的框架。学习并掌握Mybatis,首先就要了解Mybatis的核心组件。

Mybatis是半自动ORM映射工具,可以自定义高效的SQL语句提升数据库访问的效率。Mybatis是半自动的原因是因为我们要在Mapper文件中手写SQL语句,全自动的ORM(如Hibernate)是不需要手写SQL的。MyBatis可以自定义高效的SQL语句提升数据库访问的效率;而且MyBatis容易掌握,而Hibernate门槛较高。所以我们用Mybatis代替传统的Hibernate。

相关文章

JavaWeb开发框架,你又真正了解多少?

很久以前就想写这样的文章了,现在传统软件和互联网软件行业的兴起,让很多人都成为了程序猿,以至于现在程序猿的泛滥,水平参差不齐,很多都是懂得皮毛不懂的原理,偏离了软件开发的思想!重点摘要: 现在我们we...

JavaWeb项目实战:Tomcat服务器配置及业务功能开发全攻略

大家好,我是袁庭新。在 JavaWeb 开发的世界里,高效搭建与部署项目是每个开发者的必备技能。今天,我们将聚焦于如何运用 IDEA 完成一个基于 Maven 的 JavaWeb 项目实践。从业务功能...

Java Web开发的学习路径与实践策略

在信息技术的海洋里,Java Web开发犹如一座富饶的岛屿,吸引着无数求知者前来探索。对于那些渴望踏入这片领域的人来说,如何构建一个合理的学习规划是首要考虑的问题。学习Java Web不仅仅是掌握一系...

如果通过Java来完成大数据开发,需要学习哪些内容

首先,当前大数据领域的开发岗位确实比较多,近两年有不少大数据方向的研究生也会从事大数据开发岗位,而Java语言则是大数据开发人员的常用工具,所以如果要从事大数据开发岗位,可以重点学习一下Java语言。...

Web前端开发与后端开发有哪些不同

首先,从Web开发的技术体系结构来看,前后端分离是比较常见的做法,这样做的好处还是比较多的,一方面可以提升开发的整体效率,另一方面也方便系统后续的迭代升级。另外,采用前后端分离的方式,也会在一定程度上...

javaweb宿舍管理系统开发详细教程

本文章向大家介绍javaweb宿舍管理系统,主要包括javaweb宿舍管理系统使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 宿舍管理是高校管理的重要组...