SSM框架初探

article/2025/9/20 8:40:57

SSM 框架初探

  • SSM框架简介
    • 对框架的理解
    • 为什么使用 SSM 框架
  • Spring
  • SpringMVC
  • Mybatis

SSM框架简介

       SSM框架一种以java语言作为后端搭建基本语言的应用系统搭建框架。是继SSH(struts+spring+hibernate)之后,目前较为主流的Java EE企业级框架,适用于搭建各种大型(小型也可)的企业级应用系统。
       SSM框架是建立在Spring基础上的 SpringMVC + Spring + MyBatis 三大开源框架的集合缩写。(有的人在介绍SSM框架时,将SSM解释为Spring + SpringMVC + Mybatis,个人理解可能是为了突出这 SSM 的三个框架是以 Spring 作为核心进行整合的意思所以将 Spring 放在第一位,我将 SpringMVC 放在第一位纯属因为从平台构建的角度来看,从前端到后端再到数据库的顺序,分别由 SpringMVC 、Spring 、 MyBatis 进行统筹管理,好记。)

对框架的理解

       个人理解,框架是一种约定的设计方式及设计支撑结构。通过在框架中插入自己代码的形式,用一种大家都认可的形式进行代码的编写与管理。那么,为什么要使用框架呢(自己的想法,不喜勿喷)?

  1. 框架的使用能够简洁我们的代码。 框架为我们做好了模块与模块之间的连接。这使得我们能够将更多的精力花费在自身项目的事务逻辑实现上,而不是花费大量的时间构建模块与模块之间的连接。通常的认知里,代码行越多,bug 越容易产生;而且代码行越多,bug 越难修正;
  2. 框架的使用能够增强代码的重用率。 框架之于系统,类似于函数(方法)之于库(类)。在企业、大项目的开发过程中,一个项目的开发往往是一个团队合作的结果。在团队中,每个人有每个人自己的代码逻辑与风格。在每个人独立的开发过程中,可能会遇到不同事务需要相类似的功能,如果每个人都对自己负责的那一块进行独立模块编写,那将造成大量的资源浪费。好的框架将一些具有共性的功能模块进行封装。在团队合作时,遇到相类似的功能只需调用框架自身提供的功能就能进行实现,减少了对共性代码块的开发,增加了此类代码的重用率。
  3. 框架的使用能够简化项目的开发。 框架中将大部分通用的功能模块进行封装,通过对这些功能模块的调用,在开发系统时,我们无需关注功能如何具体实现,只需关注模块的事务逻辑,该功能模块需要获取的参数以及最后输出。这种封装成型的模块,能通用于整个系统的开发过程,规范项目开发的参数传递,从而简化系统的开发难度以及后续系统的维护难度。
  4. 框架的使用能够协调团队开发逻辑。 通常而言,大的项目长周期,多人协作完成的。在项目的实际开发中,会存在各种各样的意外。系统越大,沟通与交接就显得越发困难。我们说一个,为自己的代码添加注释是一个好的程序编写习惯,但不可避免的在开发过程中会存在沟通不足而使得后来者难以理解代码的含义。框架的使用,能够对项目的各模块进行一定的逻辑划分。从系统整体开发逻辑的角度协调团队工作。

看到过一个别人写的的框架理论简介,引用一下:框架简介(带一点SSM介绍)
 

为什么使用 SSM 框架

       框架是个好东西。那么,市面上流行那么多框架,为什么要选择 SSM 框架作为系统开发框架呢?

  1. SSM(SpringMVC + Spring + MyBatis)框架是免费的开源框架,且拥有成熟的社区和用户群,很多学习、使用上的疑惑都能在网上找到答案,便于学习和使用;
  2. SSM 框架的基础语言是Java,继承了Java的跨平台性,提升了系统的通用性;
  3. SSM 框架是互联网公司的常用框架,基于此框架开发的项目接受率较高;
  4. SSM 框架是轻量级框架,易于上手和使用;
  5. SSM 框架将事务逻辑与业务逻辑相剥离,在一定程度上有效的保护了数据的安全性。

接下来是对SpringMVC 、Spring 、 MyBatis 三大开源框架的介绍。
 

Spring

       Spring 是整个SSM 框架的核心,是2003年兴起的一个轻量级 Java 开发框架。由 Rod Johnson 创建。它解决了业务逻辑层和其他各层的松耦合问题。其核心思想是面向接口的编程设计,提供了管理业务对象的一致方法,在整个系统的架构设计中占有核心地位,起着系统业务逻辑层和其他各层之间的耦合作用。Spring框架站在“使用者”的角度,通过Spring IOC注解的方式进行依赖注入并交由Spring统一管理。使得整个系统设计无需关注事务的操作情况,只需要考虑系统事务的具体业务处理、功能逻辑及事务控制,从而大大降低了系统的设计难度。简单来说,Spring 是一个分层的 JavaSE/EE Full-Stack(一站式) 轻量级开源框架。为什么说 spring 是分层、一站式、轻量级的框架呢?1
       首先看分层。JavaEE 经典的 MVC 三层结构为表现层、业务层、持久层,Web 表现层负责页面数据显示、页面跳转调度,例如 JSP/Servlet、SpringMVC;Service 业务层负责业务处理、功能逻辑和事务控制,例如 Service、JavaBean、EJB;而持久层 Dao 则负责数据存取和封装,及与数据库打交道,例如 JDBC、Hibernate、Mybatis。
       而一站式,则指 Spring 为 JavaEE 的每一层都提供了解决方案,比如:

  • 表现层:Struts1、Struts2、Spring MVC;
  • 业务层:IoC 控制反转、AOP 面向切面编程、事务控制;
  • 持久层:JdbcTemplate、HibernateTemplate、ORM 框架(对象关系映射)的整合。
           至于轻量,则是指从大小与开销两方面而言,Spring 都是轻量的。完整的 Spring 框架可以在一个大小只有 1MB 多的 Jar 文件里发布。并且 Spring 所需的处理开销也是微不足道的。Spring 的出现解决了 EJB 臃肿、低效、繁琐复杂、脱离现实的情况。而且使用 Spring 编程是非侵入式的。Spring 应用中的对象不依赖于 Spring 的特定类。

SpringMVC

       SpringMVC框架是一种请求驱动模式的轻量级web框架。作为基于Spring框架功能上的Web框架拓展,SpringMVC能够与Spring框架进行无缝集成,进而能够很好的继承Spring框架的优势。同时,SpringMVC框架通过注解的形式进行请求处理控制,支持 RESTFUL式风格的URL请求,支持前后端分离技术,简化了系统的开发。
       SpringMVC框架以DispatcherServlet(前端控制器)为核心展开工作。具体工作流程如下:
1、用户在浏览器发送url请求后由DispatcherServlet进行统一拦截,再转发至HandlerMapping (处理器映射器)进行请求映射;
2、HandlerMapping将生成的处理器对象及处理拦截器返回给DispatcherServlet;
3、由DispatcherServlet通过HandlerAdapter(处理器适配器)调用对应的Handler(后端控制器);
4、Handler将结果封装为ModelAndView后返回给DispatcherServlet;
5、DispatcherServlet 将经过ViewReslover(视图解析器)解析ModelAndView后得到的view进行渲染,最终响应用户的请求。
SpringMVC框架用户请求响应流程图如下所示:
SpringMVC框架用户请求响应流程图

Mybatis

       Mybatis 的前身是 iBatis,Apache 的一个开源项目,在 2010 年这个项目从 Apache 迁移到 Google Code 改名为 Mybatis。MyBatis作为类似 ORM 的持久化框架,采用“XML + 注解”的形式对原生态SQL语句进行定义、封装与传参,基于JDBC进行数据库的映射,并对对数据库表中数据结果集与对应的entity类进行自动解析、配对、封装与赋值。最终实现数据库与系统的数据交互。
       主要有以下五大特点:1

  1. 支持自定义 SQL、存储过程、高级映射;
  2. 实现自动对 SQL 的参数设置;
  3. 实现自动对结果集进行解析和封装;
  4. 通过 XML或者注解进行配置和映射,大大减少代码量;
  5. 数据源的连接信息通过配置文件进行配置。

  1. 引自SSM博客系统 · 导读 ↩︎ ↩︎


http://chatgpt.dhexx.cn/article/vNvQT68F.shtml

相关文章

SSM框架整合

今天来整合一下SSM三大框架~~ 1、创建一个maven项目 比较简单就不赘述了,创建的时候选择webapp骨架。 用骨架创建的项目,在创建完之后要更新一下web.xml 模板目录:“你的Tomcat安装目录\webapps\ROOT\WEB-INF\web.xml” 2、项目整体结构 按…

SSM框架原理

SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业务对象管理&#xff…

SSM框架总结

一:什么是SSM框架? SSM框架是Spring、SpringMVC和MyBatis框架的总结,是比较标准的MVC模式。 标注的SSM框架有四层:dao(mapper)层、service层、controller层、domain(entity)层。 使用Spring实现业务对象…

SSM框架详解

SSM框架详解 写在前面:当初整理SSM原理时,参考了网上一些前辈的文章,时间久远已经忘记来源,所以文中原理部分如有侵权请联系我删除。 基于SSM框架的仿天猫商城网站电商后台管理系统 本文视频讲解 文章目录 SSM框架详解 一、项…

java ssm框架论文,ssm框架理解

文章简介: SSM框架集简介 spring框架IOC的理解 mybatis框架sqlSessionFactory理解 Tomcat的理解 图解SSM SSM框架常用注解 1.SSM框架集简介 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的…

SSM框架详细讲解

SSM框架 文章目录 SSM框架&#xff08;白痴都看完都会&#xff09;介绍SSM框架<原理>一、什么是SSM框架&#xff1f; 1.Spring2.Spring MVC3.Mybatis &#xff08;核心是SqlSession&#xff09;二、代码实战 1.创建配置工程2.代码实战&#xff08;查询记录数&#xff0…

SSM三大框架超详细总结(适合你重新回顾)

目录 1.1 概念 1.2 Mybatis优点 1.3 Mybatis架构 1.4 底层原理 1.5 Mybatis缓存 1.6 常见面试题 2.1 概念 2.2 Spring优点 2.3 Spring架构 2.4 控制反转&#xff08;IOC&#xff09; 2.5 DI依赖注入 2.6 底层原理(常见面试题) 8、如何用基于 Java 配置的方式配置 Spring&#…

SSM框架整合思想及步骤

前言 SSM框架即是将SpringMVC框架、Spring框架、MyBatis框架整合使用。以简化在web开发中繁琐、重复的操作&#xff0c;让开发人员的精力专注于业务处理的开发上。 一、SSM框架的思想 ssm框架根据SpringMVC、Spring、MyBatis三者各自的特性及应用场景对其操作的的业务进行了分…

SSM框架简介

一、Java SSM框架的概念 Java SSM框架即指SpringSpringMVCMyBatis的简称&#xff0c;框架集由Spring、MyBatis两个开源框架整合而成&#xff08;SpringMVC是Spring中的部分内容&#xff09;,常作为数据源较简单的web项目的框架。 相比于之前的SSH&#xff08;SpringStrutsHibe…

SSM框架讲解(史上最详细的文章)

SSM框架&#xff08;白痴都看完都会&#xff09; 文章目录 SSM框架&#xff08;白痴都看完都会&#xff09;介绍SSM框架<原理>一、什么是SSM框架&#xff1f;1.Spring2.Spring MVC3.Mybatis &#xff08;核心是SqlSession&#xff09; 二、代码实战1.创建配置工程2.代码实…

MySQL安装教程(超详细教程)

MySQL详细安装步骤 - windows(MySQL Installer for Windows)附链接 1.下载所需要的版本(可自选&#xff0c;5.7.29为稳定版本)下载链接&#xff0c;运行程序 2.个人学习使用server only&#xff0c;如果不确定需求&#xff0c;则选择full&#xff0c;全部安装&#xff1b;Next …

Mysql详细安装教程

&#x1f973;&#x1f973;&#x1f973; 茫茫人海千千万万&#xff0c;感谢这一刻你看到了我的文章&#xff0c;感谢观赏 &#x1f60f;。 &#x1f449; 作者简介&#xff1a;最爱吃鱼罐头。(抱歉&#xff0c;我真的吃鱼罐头&#x1f92b;) &#x1f97a; 本人不才&#xff…

【MySQL】免安装版MySQL安装教程

前言 近日&#xff0c;重新安装了一下本地的数据库&#xff0c;参考了很多博客才将MySQL给安装好&#xff0c;为了方便以后安装&#xff0c;便结合了网上博客的安装方法以及自己的一些经验写下这篇博客&#xff0c;也希望能给你们带来帮助。 一、MySQL是什么&#xff1f; My…

MySQL 8.0.32安装教程

目前&#xff0c;主流关系型数据库管理系统&#xff1a;Oracle&#xff08;收费的数据库&#xff0c;价钱较昂贵&#xff0c;但是除了提供软件还提供相应服务&#xff09;、MySQL&#xff08;中小型数据库&#xff0c;开源的社区版和收费版&#xff09;、Microsoft SQL server&…

mysql安装教程5.1_mysql 5.1安装教程详解

1. 下载的mysql安装文件&#xff0c;运行 mysql-5.1.62&#xff0c;出现如下界面&#xff1b; 2. 向导启动&#xff0c;按Next继续&#xff0c;有三个选项&#xff0c;我们选择用户自定义“Custom”&#xff0c;有更多的选项&#xff0c;也方便熟悉整个安装过程&#xff1b;…

MySQL安装教程——安装篇

目录 1.双击下载的mysql文件(.msi结尾的) 2. 选中“ I accept the license terms”单击Next 3.选择安装类型&#xff0c;我这里选择“Server only”&#xff0c;仅安装MySQL数据库服务器&#xff0c;然后点击Next 4. 执行MySQL的下载和安装&#xff0c;单击 Execute 5. MySQL安…

超详细MySQL安装教程(Windows)

推荐自己写的MySQL专栏&#xff1a;MySQL相关安装教程与MySQL语法 本人前不久把电脑Win10 x64系统给重置了&#xff0c;阅读官方文档&#xff0c;正打算把MySQL下载安装的时候&#xff0c;萌生了专门为萌新写一篇MySQL安装教程的想法&#xff08;请按照顺序操作哦&#xff09; …

MySql安装教程,Win11环境

换了电脑&#xff0c;重新安装环境&#xff0c;顺便记录~~~ 安装环境&#xff1a;Win11 目录 MySQL的两种安装方式&#xff1a; .msi安装 1.通过上方链接进入官网下载页面 2.选择下载 3.不注册登录&#xff0c;直接下载 开始安装 1.找到下载好的安装包&#xff0c;双…

MySQL安装教程(压缩包方式)

MySQL下载 有两种安装方式&#xff0c;一种客户端方式&#xff0c;一种是压缩包方式&#xff0c;个人比较喜欢压缩包方式。 本文以版本5.7.35为例 网址&#xff1a;https://downloads.mysql.com/archives/community/ 下载后解压即可&#xff0c;记住解压目录 配置环境变量 可…

Mysql安装教程(zip版)

目录 下载 解压、配置环境变量 准备配置 mysql服务 mysql安装时比较复杂&#xff0c;容易出错&#xff0c;特别是安装版&#xff08;msi&#xff09;在安装过程中会报各种奇奇怪怪的错误 所以写一篇文章记录一下 本篇笔者安装版本为mysql5.7.33 下载 zip版下载地址&…