0


【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和优缺点的略微讲解

🚀欢迎来到本文🚀
🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。
🏀系列专栏:陈童学的日记
💡其他专栏:C++STL,感兴趣的小伙伴可以看看。
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️

在这里插入图片描述

前言:

SSM框架

即是将Spring框架、SpringMVC框架、MyBatis框架整合使用。以简化在web开发中繁琐、重复的操作,让开发人员能够将精力专注于业务处理的开发上它是继SSH之后,目前比较主流的

Java EE

企业级框架,适用于搭建各种大型的企业级应用系统。

SSM框架是由什么整合的呢

SSM框架是

Spring、Spring MVC 、和Mybatis

框架的整合,是标准的MVC模式。标准的SSM框架有四层,分别是

dao层

(mapper),

service层

controller层

view层

。使用Spring实现业务对象管理,使用Spring MVC负责请求的转发和视图管理,Mybatis作为数据对象的持久化引擎。

在这里插入图片描述

SSM中的Spring框架

Spring

是一个轻量级Java开发框架,最早由Rod Johnson创建,目的是为了解决企业级应用开发的

业务逻辑层

和其他各层的

耦合

问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)

轻量级开源框架

,为开发Java应用程序提供全面的基础架构支持。

Spring负责基础架构

,因此Java开发者可以专注于应用程序的开发。简单来说,Spring是一个轻量级的

控制反转

(IoC)和

面向切面

(AOP)的容器框架。

SSM中的SpringMVC框架

Spring MVC

是Spring提供的一个强大而灵活的

web框架

。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的

依赖

注入功能,这些

bean

被注入到控制器中。

SSM中的Mybatis框架

MyBatis

是一款优秀的

持久层框架

,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来

配置和映射原生信息

,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

SSM中的四层结构

标准的SSM框架有四层,分别是

dao层(mapper),service层,controller层和view层

。我们在使用SSM框架时需要知道各层都有什么作用,这样我们在搭建框架的时候才能更加得心应手、事半功倍。

持久层:dao层(mapper)

Dao层

主要是做

数据持久层

的工作,负责和数据库进行联络的一些任务在此封装,dao层的设计首先是dao的接口,配置数据源,以及有关数据库连接的参数在spring的配置文件中进行配置。

业务层:service层

service层

实现

业务的主要逻辑

,是系统架构中体现核心价值的部分。将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库更新操作,即保证同时成功或同时失败。避免部分成功部分失败引起的数据混乱操作。

表现层:controller层

controller层

主要负责

具体的业务模块流程的控制

,在此层要调用service层的接口来控制业务流程。

在这里插入图片描述

SSM框架的思想

SSM框架

根据SpringMVC、Spring、MyBatis三者各自的特性及应用场景对其操作的的业务进行了

分割

降低了耦合性

  • 1、Spring框架主要应用于请求的实际业务逻辑处理。
  • 2、SpringMVC框架主要应用于用户界面处理,接收用户请求以及展示请求处理结果。
  • 3、MyBatis主要应用于数据处理层,根据请求的处理过程的血药中对数据库进行操作。在这里插入图片描述

SSM框架的工作原理

Spring

Spring

就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来

实例化对象

。也可以称之为项目中的

粘合剂

。Spring的核心思想是

IOC(控制反转)

,即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。

SpringMVC

SpringMVC

在项目中

拦截用户请求

,它的核心

Servle

t即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。

MyBatis

MyBatis

是对JDBC的封装,它让数据库底层操作变的透明。MyBatis的操作都是围绕一个sqlSessionFactory实例展开的。MyBatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句

映射

。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,

持久层与数据库交互

,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

在这里插入图片描述

SSM框架的优缺点

SSM框架有以下优点:

  • 1、低耦合,高内聚。通过使用IOC容器,依赖注入等技术,SSM框架实现了代码之间的低耦合,提高了代码的可维护性和可扩展性。
  • 2、简化开发。SSM框架提供了一系列的约定和配置,大大简化了Web应用程序的开发,同时也减少了冗余代码的编写。
  • 3、易于测试。SSM框架对代码的低耦合性和高内聚性,使得单元测试和集成测试变得更加容易。
  • 4、支持事务处理。MyBatis提供了数据库事务的管理,Spring提供了事务管理的支持,使得SSM框架可以方便地实现事务管理。
  • 5、开源免费。SSM框架是开源框架,可免费使用,避免了因为框架使用费用而增加项目成本。

SSM框架有以下缺点:

  • 1、学习曲线较陡峭。SSM框架整合了三个框架,对初学者而言,需要掌握的知识比较多,学习曲线比较陡峭。
  • 2、配置繁琐。由于SSM框架整合了多个框架,对于框架的配置较为复杂,需要耐心地阅读文档并进行配置。
  • 3、可能会存在冲突。由于SSM框架整合了多个框架,有可能会存在框架之间的冲突,需要进行相应的解决。

如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。

标签: spring spring boot java

本文转载自: https://blog.csdn.net/H1727548/article/details/132590909
版权归原作者 陈童学哦 所有, 如有侵权,请联系我们删除。

“【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和优缺点的略微讲解”的评论:

还没有评论