SSM-基础

1.SSM框架的基础认识

SSM=Spring+SpringMVC+MyBatis,是JavaEE企业级Web开发中最主流的轻量级框架组合,核心目的是解耦、简化开发、提高代码的可维护性,完美适配web开发的三层框架。

2.Spring

Spring是整个框架的核心粘合剂,是SSM的基础,核心是IoC(控制反转)和AOP(面向切面编程),不直接处理业务或请求,而是负责管理其他组件,解决代码耦合的问题。

1)IoC(控制反转)

传统开发需要手动new对象,对象的创建和依赖由开发者控制;IoC把对象的创建、依赖注入交给Spring容器管理,只需要声明依赖,Spring就会自动把需要的对象送过来,彻底解耦。

2)DI(依赖注入)

是IoC的具体实现方式,Spring通过三种方式注入依赖,①构造器注入②Setter方法注入③注解注入

3)AOP(面向切面编程)

把日志、事务权限校验等功能从业务代码中抽离

核心注解

作用:①管理Service、Dao等组件的生命周期②处理依赖注入,解耦业务层和持久层③实现声明式事务、日志、权限等通用功能

3.SpringMVC

SpringMVC是前后端交互桥梁,是基于Spring的MVC(Model-View-Controller)框架,串门处理前端HTTP请求,是表现层的核心。

SpringMVC核心执行流程

前端发送请求到DispatcherServlet(前端控制器,SpringMVC的核心);DispatcherServlet通过HandlerMapping找到对应的Controller方法;Controller调用Service处理业务逻辑,得到返回数据;Controller将数据封装到Model中,返回视图名/JSON;DispatcherServlet将返回的JSON响应给前端。

作用:

接收前端请求参数,适配不同请求方式;

调用业务层处理逻辑,封装并返回响应数据;

处理请求拦截、数据校验等通用逻辑。

4.MyBatis

MyBatis是数据库操作的简化工具,是持久层框架,核心是简化JDBC操作,将SQL与Java代码解耦,解决传统的JDBC硬编码、重复代码多的问题。

优势:

无序手动编写JDBC的重复代码(加载驱动、创建连接、Statement、处理结果集)

SQL语句写在XML或注解里,灵活可控(适合复杂SQL常见,对比JPA更灵活)

自动将SQL结果集映射到Java实体类,无需手动封装

核心组件:

SqlSessionFactory:创建SqlSession的工厂(全局唯一,通过配置文件构建);

SqlSession:与数据库交互的会话(单次请求用完即关,线程不安全);

Mapper接口:数据访问接口(如UserMapper),MyBatis 通过动态代理生成实现类,无需手动编写;

Mapper.xml:编写 SQL 语句,与 Mapper 接口绑定(namespace对应接口全类名,id对应方法名)。

5.SSM整合

1)环境准备(Maven 依赖)

核心依赖包括:Spring 核心包、SpringMVC 包、MyBatis 包、MyBatis-Spring 整合包、数据库驱动(如 MySQL)、连接池(Druid)、Servlet-api 等。

2)核心配置文件(3 个核心配置 + web.xml)

配置文件 核心作用
applicationContext.xml(Spring 配置) 扫描 Service/Dao、配置数据源、SqlSessionFactory、Mapper 扫描、事务管理器
spring-mvc.xml(SpringMVC 配置) 扫描 Controller、开启注解驱动、配置 JSON 转换器、视图解析器(可选)
mybatis-config.xml(MyBatis 配置) 别名配置、驼峰命名映射、全局设置
web.xml 配置 DispatcherServlet(加载 SpringMVC)、ContextLoaderListener(加载 Spring)、字符编码过滤器
  1. 代码编写流程

  2. 编写实体类(POJO):对应数据库表;

  3. 编写 Mapper 接口 + Mapper.xml:实现数据库 CRUD;

  4. 编写 Service 接口 + ServiceImpl:注入 Mapper,处理业务逻辑,加事务注解;

  5. 编写 Controller:注入 Service,处理前端请求,返回 JSON / 视图;

  6. 测试:启动 Tomcat,发送请求。

  7. 完整请求执行链路

    前端发送GET请求 → DispatcherServlet(SpringMVC)→ UserController → UserService(Spring管理,带事务)→ UserMapper(MyBatis)→ 数据库 →
    结果返回:数据库 → UserMapper → UserService → UserController → JSON响应 → 前端

总结

SSM 由 Spring(核心,IoC/AOP + 事务管理)、SpringMVC(表现层,处理 HTTP 请求)、MyBatis(持久层,操作数据库)组成,对应 Web 三层架构。

Spring 是 "粘合剂",管理 Service/Dao 的依赖和生命周期;SpringMVC 负责前后端交互;MyBatis 简化数据库操作。

SSM 整合的核心是通过配置文件让三者协同,请求流程为:前端→Controller→Service→Mapper

→数据库,结果原路返回。

相关推荐
wechatbot88810 分钟前
极客互动企业微信 SCRM 自动运营平台效果实测
java·微信·企业微信·rpa
需要82614 分钟前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
事圆则缓38 分钟前
Java 转 Kotlin 的 Android 迁移路线
java
李白客39 分钟前
数据融合平台怎么选:批流一体、实时同步与数据质量的 7 个维度
数据库·数据库架构
计算机毕设定制辅导-无忧学长44 分钟前
《基于Vue的流浪动物救助中心管理系统的设计与实现》
java·vue.js·spring boot·流浪动物救助中心管理系统
Mikko71 小时前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
Java_AI工程师1 小时前
90%的人写Function Calling,只写了"把参数传给工具执行"这一步,剩下的参数校验、错误重试、超时控制、结果格式化,全是空白。
java·人工智能·程序员
斯维赤1 小时前
LangChain4j 入门教学(Java 后端狂喜版
java·后端
数据库小学妹1 小时前
MySQL库存扣减实战:原子UPDATE、分桶方案与锁范围分析
数据库·后端·mysql
旺仔不是程序员1 小时前
LIMIT 1:PostgreSQL 只取一行的高效查询姿势
数据库·后端·sql