# java-study **Repository Path**: CGzhao/ssm-study ## Basic Information - **Project Name**: java-study - **Description**: Java后端系统学习仓库,目前集成内容有: 1、SSM框架(SpringMVC+Spring+Mybatis); 2、SpringBoot框架; 3、Maven - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-09 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Java 后端框架系统化学习仓库 > 一站式的 Java 后端框架学习仓库:从 SSM 底层原理到 SpringBoot 企业级实战,再到 Maven 构建工具、Java 多线程并发、Stream 流式编程和设计模式系统精通。包含 **58 篇深度文档** + **8 组 SSM 源码模块** + **7 份练习题集** + **12 个 SpringBoot 练习工程** + **10 个 Maven 练习工程** + **8 组多线程 Lab** + **10 组 Stream Lab(含 JUnit 自动化练习)** + **8 组设计模式 Lab(含答案 + 练习版)**。 --- ## 📋 仓库概览 | 信息 | 详情 | |:---|:---| | **技术栈** | Java 17 · Spring 5.3 · SpringMVC · MyBatis 3.5 · SpringBoot 3.2 · Maven 3.9 · JUC | | **构建工具** | Maven | | **许可证** | MIT License | --- ## 📂 仓库结构 ``` JavaWeb/ ├── LICENSE ├── .gitignore ├── README.md ← 你正在看的文件 │ ├── ssm-study/ ← 🏛️ SSM 框架底层原理学习 │ ├── 01-spring-ioc/ ← Spring IoC 容器与依赖注入 │ ├── 02-spring-aop/ ← Spring AOP 面向切面编程 │ ├── 03-spring-tx/ ← Spring 事务管理 │ ├── 04-springmvc-basics/ ← SpringMVC 基础 │ ├── 05-springmvc-advanced/ ← SpringMVC 进阶 │ ├── 06-mybatis-basics/ ← MyBatis 基础 │ ├── 07-mybatis-advanced/ ← MyBatis 高级 │ ├── 08-ssm-integration/ ← SSM 三大框架整合 │ ├── docs/ ← 13 篇 SSM 深度文档 │ ├── exercises/ ← 6 份练习题集 │ └── sql/ ← 公共建表脚本 │ ├── springboot-study/ ← 🚀 SpringBoot 进阶实战学习 │ ├── docs/ ← 9 篇 SpringBoot 文档 │ └── springboot-labs/ ← 6 组练习工程(答案版 + 纯净版) │ ├── lab01-hello-*/ ← 第一个 Boot 项目 │ ├── lab02-config-*/ ← 配置文件与多环境 │ ├── lab03-web-*/ ← Web 开发核心 │ ├── lab04-mybatis-*/ ← Boot 整合 MyBatis │ ├── lab05-advanced-*/ ← AOP / 定时任务 / 缓存 │ └── lab06-project-*/ ← 🎓 期终大作业 │ ├── maven-study/ ← 📦 Maven 构建工具系统学习 │ ├── docs/ ← 7 篇 Maven 文档 │ └── maven-labs/ ← 5 组练习工程(答案版 + 纯净版) │ ├── lab01-basic-*/ ← 基础项目搭建 │ ├── lab02-dependency-*/ ← 依赖管理实战 │ ├── lab03-plugin-*/ ← 插件配置实战 │ ├── lab04-multimodule-*/ ← 多模块项目 │ └── lab05-profile-*/ ← Profile 环境管理 │ ├── java-multithreading-study/ ← 🧵 Java 多线程与并发编程 │ ├── docs/ ← 7 篇多线程深度文档 │ └── thread-labs/ ← 4 组练习工程(答案版 + 纯净版) │ ├── lab01-thread-basic-*/ ← 三种线程创建方式 │ ├── lab02-sync-*/ ← synchronized / ReentrantLock │ ├── lab03-producer-consumer-*/ ← 生产者消费者经典模型 │ └── lab04-threadpool-*/ ← 线程池实战配置 │ ├── java-stream-study/ ← 🌊 Java Stream 流式编程 │ ├── docs/ ← 7 篇 Stream 深度文档 │ ├── exercises/ ← 练习题集(含参考答案) │ └── stream-labs/ ← 5 组练习工程(答案版 + 练习版) │ ├── lab01-stream-basics-*/ ← 创建流 / filter / map / reduce │ ├── lab02-intermediate-*/ ← flatMap / sorted / distinct │ ├── lab03-collectors-*/ ← groupingBy / partitioningBy │ ├── lab04-business-scenario-*/ ← 电商订单综合实战 │ └── lab05-junit-stream-*/ ← JUnit 自动化练习与答案 │ └── java-design-patterns-study/ ← 🏛️ Java 设计模式系统学习 ├── docs/ ← 5 篇设计模式深度文档 └── pattern-labs/ ← 4 组练习工程(答案版 + 纯净版) ├── lab01-creational-*/ ← 单例 / 工厂 / 建造者 ├── lab02-proxy-decorator-*/ ← 代理(静态/动态)/ 装饰器 ├── lab03-strategy-observer-*/ ← 策略 / 观察者 └── lab04-template-chain-*/ ← 模板方法 / 责任链 ``` --- ## 📚 学习路线 本仓库由浅入深划分为**六大阶段**,建议按顺序推进: ### 🏛️ 第一阶段:SSM 框架底层原理 → [进入 ssm-study](ssm-study/) | 序号 | 模块 | 核心知识点 | | :---: | :--- | :--- | | 01 | Spring IoC | Bean 注册、DI 注入、注解驱动、组件扫描 | | 02 | Spring AOP | 动态代理、JDK/CGLIB、通知类型、切点表达式 | | 03 | Spring TX | 声明式事务、传播行为、隔离级别、失效场景 | | 04 | SpringMVC 基础 | DispatcherServlet、@RequestMapping、参数绑定 | | 05 | SpringMVC 进阶 | 拦截器、全局异常处理、文件上传、RESTful | | 06 | MyBatis 基础 | SqlSession、Mapper XML、resultMap、动态SQL | | 07 | MyBatis 高级 | 缓存机制、插件拦截器、TypeHandler、批量操作 | | 08 | SSM 整合 | 父子容器、整合配置、事务一致性 | ### 🚀 第二阶段:SpringBoot 快速进阶 → [进入 springboot-study](springboot-study/) | 序号 | 文档 | 练习工程 | 核心知识点 | | :---: | :--- | :--- | :--- | | 过渡 | 从SSM到SpringBoot | — | 核心差异与心智模型转变 | | SB02 | 快速启动 | Lab01 | 项目创建、启动流程、第一个接口 | | SB03 | 自动配置原理 | — | @Conditional、Starter 机制 | | SB04 | 配置文件系统 | Lab02 | yml、Profile、@ConfigurationProperties | | SB05 | Web 开发实战 | Lab03 | RESTful CRUD、Result 统一响应、全局异常、参数校验 | | SB06 | 数据层整合 | Lab04 | Boot + MyBatis + PageHelper 分页 | | SB07 | AOP 企业增强 | Lab05 | 日志切面、@Scheduled、@Cacheable | | SB08 | 测试与部署 | Lab06 🎓 | @SpringBootTest、Maven 打包、Docker | ### 📦 第三阶段:Maven 构建工具精通 → [进入 maven-study](maven-study/) | 序号 | 文档 | 练习工程 | 核心知识点 | | :---: | :--- | :--- | :--- | | 01 | 学习路线图 | — | 全局视野、能力自测 | | 02 | 基础概念与安装配置 | Lab01 | GAV 坐标、仓库体系、settings.xml | | 03 | POM 文件与项目结构 | Lab01 | 超级 POM、继承聚合、属性变量 | | 04 | 依赖管理深度解析 | Lab02 | scope、传递性、冲突排除、BOM | | 05 | 生命周期与插件机制 | Lab03 | 三套生命周期、常用插件、自定义绑定 | | 06 | 多模块项目实战 | Lab04 | 父子工程、模块拆分、版本统管 | | 07 | Profile 与高级特性 | Lab05 | 多环境构建、Archetype、私服 | ### 🧵 第四阶段:Java 多线程与并发 → [进入 java-multithreading-study](java-multithreading-study/) | 序号 | 文档 | 练习工程 | 核心知识点 | | :---: | :--- | :--- | :--- | | 01 | 多线程学习路线图 | — | 五阶段体系、能力自测 | | 02 | 线程基础与生命周期 | Lab01 | Thread/Runnable/Callable、六大状态、sleep/join/interrupt | | 03 | 线程同步与锁机制 | Lab02 | synchronized 原理、死锁四条件、ReentrantLock、ThreadLocal | | 04 | JUC 并发工具类 | Lab03 | CountDownLatch / Semaphore / CompletableFuture | | 05 | 线程池原理与实践 | Lab04 | ThreadPoolExecutor 7 参数、拒绝策略、合理设置线程数 | | 06 | 原子操作与 JMM | — | JMM 内存模型、volatile、CAS/ABA、Atomic 原子类 | | 07 | 并发集合与面试题 | — | ConcurrentHashMap、CopyOnWriteArrayList、高频面试 | ### 🌊 第五阶段:Java Stream 流式编程 → [进入 java-stream-study](java-stream-study/) | 序号 | 文档 | 练习工程 | 核心知识点 | | :---: | :--- | :--- | :--- | | 01 | Stream 学习路线图 | — | 四阶段体系、能力自测 | | 02 | Stream 基础与创建流 | Lab01 | 惰性求值、filter/map、reduce、一次性消费 | | 03 | 中间操作详解 | Lab02 | flatMap、sorted、distinct、distinctByKey | | 04 | 终端操作与 Collectors | Lab03 | groupingBy、partitioningBy、joining | | 05 | Optional 与函数式接口 | Lab03 | orElse vs orElseGet、四大函数式接口 | | 06 | 并行流与性能优化 | Lab04 | parallelStream、IntStream、性能陷阱 | | 07 | Stream 实战与面试题 | Lab04/Lab05 | 电商统计、TopN、高频面试题、JUnit 自动化练习 | ### 🏛️ 第六阶段:设计模式系统学习 → [进入 java-design-patterns-study](java-design-patterns-study/) | 序号 | 文档 | 练习工程 | 核心知识点 | | :---: | :--- | :--- | :--- | | 01 | 设计模式学习路线图 | — | 23 种模式分类、SOLID 原则 | | 02 | 创建型模式 | Lab01 | 单例(4种)/ 工厂方法 / 抽象工厂 / 建造者 / 原型 | | 03 | 结构型模式 | Lab02 | 静态代理 / JDK动态代理 / 装饰器 / 适配器 / 外观 | | 04 | 行为型模式 | Lab03/04 | 策略 / 观察者 / 模板方法 / 责任链 | | 05 | Spring 中的设计模式 | — | AOP代理 / Event观察者 / JdbcTemplate模板方法 | --- ## ⚡ 快速开始 ### 环境要求 - **JDK** 17+ - **Maven** 3.8+ - **MySQL** 8.0+(部分 Lab 需要) - **IDE** IntelliJ IDEA 推荐 ### 克隆项目 ```bash git clone https://github.com/your-repo/JavaWeb.git cd JavaWeb ``` ### 运行 SSM 模块 ```bash cd ssm-study mvn clean compile mvn -pl 01-spring-ioc test ``` ### 运行 SpringBoot Lab ```bash cd springboot-study/springboot-labs/lab03-web-solution mvn spring-boot:run # 访问 http://localhost:8080/api/users ``` --- ## 📖 文档总览
📗 SSM 系列文档(13 篇)— 位于 ssm-study/docs/ | 文档 | 内容 | |:---|:---| | `00-学习路线图.md` | 全景学习规划 | | `01-Spring-IoC容器深入理解.md` | IoC 原理、Bean 生命周期 | | `02-Spring-依赖注入全面解析.md` | DI 方式对比、最佳实践 | | `03-Spring-AOP面向切面编程.md` | 代理模式、通知类型 | | `04-Spring-Bean生命周期与扩展点.md` | BeanPostProcessor、扩展点 | | `05-Spring-事务管理详解.md` | 传播行为、隔离级别 | | `06-SpringMVC-核心架构与请求流程.md` | DispatcherServlet、九大组件 | | `07-SpringMVC-高级特性.md` | 拦截器、异常处理器 | | `08-MyBatis-核心机制详解.md` | 映射原理、接口绑定 | | `09-MyBatis-高级特性与优化.md` | 缓存、插件、性能优化 | | `10-SSM整合实战指南.md` | 三框架整合与容器隔离 | | `Spring-Proxy代理机制详解.md` | JDK/CGLIB 代理深度剖析 | | `SpringMVC-请求执行全流程图解.md` | Mermaid 时序图 + 逐步图解 |
📘 SpringBoot 系列文档(9 篇)— 位于 springboot-study/docs/ | 文档 | 内容 | |:---|:---| | `11-从SSM到SpringBoot过渡.md` | SSM → Boot 核心差异桥梁 | | `SB01-SpringBoot学习路线图.md` | 七阶段进阶规划 | | `SB02-SpringBoot快速启动与工程搭建.md` | 项目创建、启动流程 | | `SB03-自动配置原理深度解析.md` | @Conditional、Starter | | `SB04-配置文件系统详解.md` | yml、Profile、优先级 | | `SB05-Web开发核心实战.md` | REST、Result、异常、校验 | | `SB06-数据层整合MyBatis.md` | Starter 整合、CRUD、分页 | | `SB07-AOP与企业级增强.md` | 切面、定时任务、缓存 | | `SB08-测试与打包部署.md` | 测试、打包、Docker |
📙 Maven 系列文档(7 篇)— 位于 maven-study/docs/ | 文档 | 内容 | | :--- | :--- | | `01-Maven学习路线图.md` | 全局路线图与能力自测 | | `02-Maven基础概念与安装配置.md` | GAV、仓库体系、settings.xml | | `03-POM文件与项目结构详解.md` | POM 结构、继承聚合 | | `04-依赖管理深度解析.md` | scope、传递性、排除、BOM | | `05-生命周期与插件机制.md` | 三套生命周期、自定义绑定 | | `06-多模块项目实战.md` | 父子工程、模块拆分 | | `07-Profile与高级特性.md` | 多环境构建、Archetype |
🧵 多线程系列文档(7 篇)— 位于 java-multithreading-study/docs/ | 文档 | 内容 | | :--- | :--- | | `01-多线程学习路线图.md` | 五阶段体系 + 能力自测 | | `02-线程基础与生命周期.md` | 进程/线程/协程对比 + 三种创建方式 + 六大状态机 | | `03-线程同步与锁机制.md` | 竞态条件 + synchronized 底层 + 死锁 + ReentrantLock + ThreadLocal | | `04-JUC并发工具类.md` | CountDownLatch / CyclicBarrier / Semaphore / CompletableFuture | | `05-线程池原理与实践.md` | ThreadPoolExecutor 7 参数 + 拒绝策略 + 合理设置线程数公式 | | `06-原子操作与JMM内存模型.md` | JMM 主/工作内存 + volatile + CAS/ABA + Atomic 原子类家族 | | `07-并发集合与常见面试题.md` | ConcurrentHashMap 深度解析 + 6 道高频面试题答案 |
🏛️ 设计模式系列文档(5 篇)— 位于 java-design-patterns-study/docs/ | 文档 | 内容 | | :--- | :--- | | `01-设计模式学习路线图.md` | SOLID 原则 + 23 种模式分类 + Spring 对应关系速查表 | | `02-创建型模式.md` | 单例(饿汉/DCL/内部类/枚举)+ 工厂方法 + 抽象工厂 + 建造者 + 原型 | | `03-结构型模式.md` | 静态代理 + JDK 动态代理 + 装饰器 + 适配器 + 外观 | | `04-行为型模式.md` | 策略(含 Lambda)+ 观察者 + 模板方法(含钩子)+ 责任链 | | `05-Spring中的设计模式.md` | AOP代理 / BeanFactory工厂 / Event观察者 / HttpWrapper装饰器 |
🌊 Stream 系列文档(7 篇)— 位于 java-stream-study/docs/ | 文档 | 内容 | | :--- | :--- | | `01-Stream学习路线图.md` | 四阶段体系 + 能力自测 | | `02-Stream基础与创建流.md` | Stream vs Collection + 七种创建方式 + 惰性求值 | | `03-中间操作详解.md` | filter / map / flatMap / sorted / distinct / peek | | `04-终端操作与Collectors.md` | groupingBy 多级分组 + partitioningBy + 统计收集器 | | `05-Optional与函数式接口.md` | Optional 最佳实践 + Predicate/Function/Consumer/Supplier | | `06-并行流与性能优化.md` | parallelStream 原理 + IntStream + 性能最佳实践 | | `07-Stream实战与面试题.md` | 电商订单实战 + 13 道高频面试题 + 解题套路 |
--- ## 🤝 贡献与反馈 欢迎提交 Issue 或 Pull Request 来完善本项目。如果本项目对你有帮助,欢迎 ⭐ Star 支持! --- ## 📄 许可证 本项目基于 [MIT License](LICENSE) 开源。 Copyright © 2026 划船不用桨全靠浪