蜗牛学苑 Java 智能体学习 Day24|SpringBoot 整合 MyBatis、分层解耦思维导图复盘

一、思维导图整体知识结构梳理

1.SpringBoot 整合 MyBatis

  1. 创建 springboot 工程,导入依赖 导入 mybatis 起步依赖、mysql 驱动依赖、springboot 单元测试依赖。
  2. 配置 MyBatis 在application.properties配置数据库四大参数:驱动类名、连接 url、用户名、密码。
  3. 数据准备 创建 user 用户表,编写测试数据;创建 User 实体类,实体属性和表字段一一对应,提供 get、set 方法。
  4. 编写 SQL 语句 创建 Mapper 接口,添加@Mapper注解;使用@Select注解编写 SQL,接口会自动生成代理实现类,交给 IOC 容器管理。
  5. 单元测试 添加@SpringBootTest注解,@Autowired注入 Mapper,编写测试方法完成功能测试。

2.SpringBoot 配置文件

  1. 配置文件介绍
  • application.properties:key‑value 格式
  • application.yml/application.yaml:yml 格式,层级清晰,开发推荐使用
  1. YAML 语法 大小写敏感;冒号后必须加空格;缩进代表层级,禁止使用 Tab,只能空格;#代表注释;‑代表集合。
  2. YAML 常见数据格式 :对象、数组、集合;#后面不要直接写 Tab,避免解析报错。
  3. 配置文件切换:properties 与 yml 可以共存,yml 优先级更高。

3. 分层解耦案例

  1. 需求说明:加载解析 xml 数据,查询返回统一结果集,页面渲染展示。
  2. 准备工作:导入工具类、实体类、xml 资源文件,pom 开启资源拷贝。
  3. 实现步骤:导入静态页面,编写 Controller 接收请求,完成数据查询与页面返回。
  4. 问题分析:全部代码写在 Controller 中,代码复用性差、维护困难。

4. 三层架构

  1. 分层介绍 单一职责原则:一个类 / 方法只做一件事
  • Controller 控制层:接收请求,封装返回数据
  • Service 业务层:处理业务逻辑
  • Dao 持久层:数据库增删改查 执行流程:浏览器→Controller→Service→Dao 优点:复用性强、便于维护、利于扩展。
  1. 代码拆分
  • Controller:接收请求
  • Service:定义接口 + 实现类
  • Dao:Mapper 接口,MyBatis 代理生成实现类
  1. 耦合问题:模块之间 new 对象直接创建,代码耦合度高。
  2. 解耦思想
  • 不使用 new 创建对象,交给 IOC 容器管理对象
  • 从容器获取对象,实现依赖注入

5.IOC&DI 入门

  1. IOC 控制反转:把对象创建交给 IOC 容器管理,移除代码中 new 对象。
  2. DI 依赖注入:容器自动装配依赖对象。
  3. Bean 的声明(注解)
  • @Component:基础注解
  • @Controller:控制层
  • @Service:业务层
  • @Repository:数据访问层 bean 名称:默认类名首字母小写,可通过 value 指定; @ComponentScan组件扫描:启动类默认扫描当前包及子包。
  1. 依赖注入详解
  • @Autowired:默认按类型装配
  • 多个同类型 Bean 解决方案:@Primary、@Qualifier配合@Autowired、@Resource按名称注入
  • @Autowired与@Resource区别:@Autowired按类型;@Resource默认按名称注入。

二、思维导图制作意图

  1. 梳理 SpringBoot 整合 MyBatis 完整流程,掌握工程创建、依赖导入、配置文件编写、Mapper 注解开发、单元测试整套流程,熟练区分 properties 与 yml 配置文件语法。
  2. 通过业务案例引出三层架构,理解分层开发的意义;重点理解 IOC 控制反转、DI 依赖注入核心思想,解决代码耦合问题。
  3. 整理 IOC 容器全部注解,区分@Component/@Controller/@Service/@Repository,对比@Autowired与@Resource的用法差异,理清多 Bean 冲突的解决办法,这是 Spring 核心面试考点。
  4. 将配置语法、分层流程、注解归类整理,便于快速复习,避免开发中注解误用、yml 格式报错。

三、当日学习总结

今日学习 SpringBoot 整合 MyBatis,掌握 yml 配置文件语法,完成 MyBatis 注解方式开发,实现数据库查询。理解传统 Controller 写全部代码带来的耦合问题,学习 Java 后端标准三层架构:Controller‑Service‑Dao。理解 IOC 控制反转,不再手动 new 对象,把对象交给 Spring 容器管理;DI 依赖注入实现对象装配,掌握各类组件注解、依赖注入注解,以及多个 Bean 冲突时的处理方案。IOC、DI 是 Spring 最核心底层思想,三层架构是企业项目标准开发模式,属于业务开发、面试高频重点。

相关推荐
鸽芷咕6 小时前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
SL_staff6 小时前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路
java·开源·产品
这个DBA有点耶6 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
文丑颜不良啊7 小时前
LeetCode2261~2280题目解析
java·leetcode
SL_staff7 小时前
告别规则黑盒:JVS-Rules 在金融风控中的可视化决策编排实践
java·产品·全栈
逆回8 小时前
升级 Boot 4 后,我的 mock 全红了
spring boot
逃逸线LOF8 小时前
服务网关Gateway
java·运维·gateway
灿飞屋8 小时前
Kotlin与Java虚拟机四:函数
java·python·kotlin·安卓·android jetpack
老纪的技术唠嗑局8 小时前
把 seekdb 塞进 iOS App:让混合检索嵌入手机
数据库
坤坤子吖9 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习