[ SSM ] 浅谈 SSM 框架(Spring+SpringMVC+MyBatis)

SSM ? 陌生吗 ?我敢说来看这篇文章的你肯定不陌生~~~哈哈哈哈

关于 SSM,我第一次接触应该是在大四,毕业论文开题报告之前的几天,我改题的时候。当时由于准备实习的一些事,没有太多时间去完成论文的研究,接受导师的建议于是改成了毕设,选定的就是 SSM 框架。

那么这篇文章呢,我想分享一下有关 SSM 框架的一些知识。


目录

一、什么是 SSM ?

1. 概述

2. 什么是 Spring(spring)

3. 什么是 Spring MVC(spring MVC)

4. 什么是 mybatis(mybatis)

二、SSM 的作用和原理

1. 作用

2. 原理

1. Spring MVC:

2. Spring

3. Mybatis

三. Java中层次介绍

1. 持久层:DAO层(mapper)

2. 业务层:Service层

3. 表现层:Controller层

4. View层

5. 各层联系

四、SSM 系统架构图

五、专栏分享


首先第一个问题是什么呢 ?答案是肯定的:什么是 SSM 呢?

一、什么是 SSM ?

1. 概述

SSMSpring+SpringMVC+MyBatis

SSM 框架集是由 Spring、MyBatis 两个开源框架整合而成。

SpringMVC 是 Spring 中的部分内容,常作为数据源较简单的 web 项目的框架。

2. 什么是 Spring(spring

Spring 框架是一个开放源代码的 J2EE 应用程序框架,由 Rod Johnson 发起,是针对 bean 的生命周期进行管理的轻量级容器。

Spring 解决了开发者在 J2EE 开发中遇到的许多常见的问题,提供了功能强大IOC、AOP 及 Web MVC 等功能。

Spring 可以单独应用于构筑应用程序,也可以和 Struts、Webwork、Tapestry 等众多Web框架组合使用,并且可以与 Swing 等桌面应用程序 AP 组合。

因此,Spring 不仅仅能应用于 J2EE 应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框 架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web 和 Spring Web MVC。

 Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。

Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。

3. 什么是 Spring MVC(spring MVC

Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用 Spring 的Spring MVC 框架或集成其他MVC开发框架,如 Struts1(现在一般不用),Struts 2(一般老项目使用)等等。

SpringMVC 在项目中拦截用户请求,它的核心 Servlet 即 DispatcherServlet 承担中介或是前台这样的职责,将用户请求通过 HandlerMapping 去匹配 Controller,Controller 就是具体对应请求所执行的操作。

SpringMVC相当于SSH框架中struts。

4. 什么是 mybatis(mybatis

MyBatis 本是 apache 的一个开源项目 iBatis, 2010年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis 。

iBATIS 一词来源于 "internet" 和 "abatis" 的组合,是一个基于 Java 的持久层框架。

iBATIS 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAOs)。

mybatis 是对 jdbc 的封装,它让数据库底层操作变的透明。

mybatis 的操作都是围绕一个 sqlSessionFactory 实例展开的。

mybatis 通过配置文件关联到各实体类的 Mapper 文件,Mapper  文件中配置了每个类对数据库所需进行的 sql 语句映射。在每次与数据库交互时,通过 sqlSessionFactory 拿到一个sqlSession,再执行 sql 命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

二、SSM 的作用和原理

1. 作用

SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层。

使用spring MVC负责请求的转发和视图管理。

spring实现业务对象管理,mybatis作为数据对象的持久化引擎。

2. 原理

1. Spring MVC:

1.客户端发送请求到 DispacherServlet(分发器)

2.由 DispacherServlet 控制器查询 HanderMapping,找到处理请求的 Controller。

3.Controller 调用业务逻辑处理后,返回 ModelAndView。

4.DispacherSerclet 查询视图解析器,找到 ModelAndView 指定的视图

5.视图负责将结果显示到客户端

2. Spring

我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们Java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。

另外spring的aop,事务管理等等都是我们经常用到的。

3. Mybatis

mybatis 是对 jdbc 的封装,它让数据库底层操作变的透明。mybatis 的操作都是围绕一个sqlSessionFactory 实例展开的。

mybatis 通过配置文件关联到各实体类的 Mapper 文件,Mapper 文件中配置了每个类对数据库所需进行的 sql 语句映射。

在每次与数据库交互时,通过 sqlSessionFactory 拿到一个 sqlSession,再执行sql命令。

三. Java中层次介绍

1. 持久层:DAO层(mapper)

DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。

DAO层的设计首先是设计DAO的接口。

然后在Spring的配置文件中定义此接口的实现类。

然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰。

DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

2. 业务层:Service层

Service层:Service层主要负责业务模块的逻辑应用设计。

首先设计接口,再设计其实现的类。

接着再在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。

Service层的业务实现,具体要调用到已定义的DAO层的接口。

封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。

3. 表现层:Controller层

Controller层;Controller层负责具体的业务模块流程的控制。

在此层里面要调用Service层的接口来控制业务流程。

控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。

4. View层

View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。

View层主要负责前台jsp页面的表示。

5. 各层联系

DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势。

Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

四、SSM 系统架构图

SSM 处理用户请求的整个过程

五、专栏分享

每个专栏都在持续更新中~~~

渗透测试自学篇

网络基础

web基础知识点

操作系统篇

python爬虫

闲聊

面试总结

python

通讯安全

靶场

推荐阅读:[ 渗透入门篇 ] 渗透行业必备术语大集合(一)

                  [ linux ] 文件系统和目录结构详解

                  [ 网络协议篇 ] 一篇文章让你掌握神秘的 DHCP(一)

                  [ 应急响应 ]服务器(电脑)受到攻击该如何处理?(一)

本文到这里就结束了,主要就简单谈了一下 SSM 理论知识。

看完本篇是不是意犹未尽~~~

我们下篇文章见 !^.^ 

  • 19
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
### 回答1: 基于SSMSpring+SpringMVC+MyBatis)的管理系统是一种常见的Web应用程序,它使用Spring框架作为应用程序的核心,SpringMVC框架作为Web层的控制器,MyBatis框架作为数据访问层的ORM框架。这种管理系统可以用于各种企业级应用程序,例如人力资源管理系统、客户关系管理系统、库存管理系统等。它具有易于扩展、高效、安全等优点,是现代企业信息化建设的重要组成部分。 ### 回答2: SSM是指基于SpringSpringMVCMyBatis这三个框架技术实现的一种Web应用开发模式。在SSM框架中,Spring框架主要作为IoC容器和Bean工厂,提供依赖注入、事务管理、AOP等功能,SpringMVC框架主要负责Web层的控制器部分,处理HTTP请求和响应,而MyBatis框架则用于持久层的数据访问和管理,提供了高效且易于维护的数据库访问操作。 基于SSM框架的管理系统可以分为前台和后台两个系统。前台主要面向普通用户,提供浏览、查询、注册、登录等功能,让用户能够方便地使用系统。后台主要面向管理员或管理人员,提供对系统中各种业务数据的管理、修改、删除等功能,让管理人员能够对系统运行情况进行有效的监控和控制。 在基于SSM框架的管理系统中,需要进行技术选型、模块设计、业务实现等工作。首先,需要根据具体需求选择合适的技术方案和架构模式。其次,需要对各个模块进行梳理,按照功能划分,确定模块之间的关系和交互方式,最终实现整个系统的业务逻辑。同时,需要注意系统的可扩展性、可维护性和安全性,保证系统的数据安全,同时能够满足系统的不断发展和升级的需要。 总之,基于SSM框架的管理系统,可以通过合理运用SpringSpringMVCMyBatis等技术,实现系统中的各种业务逻辑。开发人员需要具备扎实的Java技术和Web开发经验,同时需要熟悉相关的数据库技术和网络协议,才能够顺利地完成系统的设计和开发。 ### 回答3: SSM是目前非常流行的一种技术架构,它是SpringSpringMVCMyBatis三个框架的结合,每个框架具有自己的优势和功能,通过整合,可以快速地搭建一个高效、可维护的管理系统。 在SSM框架下,可以将系统分为三层:表现层、业务层和持久层。表现层由SpringMVC处理用户请求和响应,业务层由Spring实现,而持久层则使用MyBatis实现数据库交互。 在搭建一个基于SSM的管理系统时,首先需要进行配置。Spring的配置包括Spring的核心配置文件、数据源的配置和事务的配置;SpringMVC的配置包括MVC配置文件、拦截器等;MyBatis的配置包括数据库连接池、Mapper文件和MyBatis的配置文件等。这些都需要进行详细的配置。 在系统开发中,可以通过Maven对项目进行管理,比如添加依赖、打包等。同时,也可以使用Spring Security对系统进行安全性的保护,实现权限控制等功能。 在具体的业务实现中,可以根据需要添加各种插件、拦截器和过滤器等,还可以使用Redis等缓存技术,提高系统的性能和效率。 总的来说,基于SSM的管理系统具有以下优点:首先,框架的整合可以提高开发效率,减少重复代码。其次,各个框架都具有良好的扩展性和可维护性,方便对系统进行升级和调整。最后,使用Maven进行项目管理,可以更好地管理依赖,提高项目效率。 当然,也需要注意SSM框架的缺点,比如框架整合带来的额外配置和调试成本,以及MyBatis可能存在的一些瓶颈等问题。综上所述,基于SSM的管理系统适合中小型项目,能够提高开发效率,降低开发难度,实现快速迭代和维护,是一种非常实用的技术方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_PowerShell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值