SpringBoot 全面深入学习指南
学习目录
第一部分:SpringBoot 基础
- SpringBoot 概述与核心特性
- SpringBoot 项目结构与自动配置原理
- SpringBoot 启动过程与生命周期
- SpringBoot 配置系统详解
- SpringBoot Starter 机制与自定义 Starter
第二部分:Web 开发
- Spring MVC 在 SpringBoot 中的集成与增强
- RESTful API 设计与实现
- 模板引擎集成(Thymeleaf, Freemarker)
- 文件上传与下载处理
- 异常处理与全局异常控制器
- 参数验证与数据绑定
- WebFlux 响应式编程
第三部分:数据访问
- JDBC 与 JdbcTemplate
- Spring Data JPA 集成与使用
- MyBatis/MyBatis-Plus 集成
- 多数据源配置与动态数据源
- 事务管理与传播行为
- Redis 集成与缓存抽象
- MongoDB 集成
- Elasticsearch 集成
第四部分:系统集成与消息
- RabbitMQ 集成与消息处理
- Kafka 集成与消息处理
- WebSocket 实时通信
- 邮件发送集成
- 定时任务与异步处理
- 分布式任务调度(Quartz, XXL-JOB)
第五部分:微服务与云原生
- Spring Cloud 基础集成
- 服务注册与发现(Eureka, Nacos)
- 配置中心(Config, Nacos)
- 服务调用(Feign, RestTemplate)
- 服务熔断与降级(Hystrix, Sentinel)
- API 网关(Gateway, Zuul)
- 分布式链路追踪(Sleuth, Zipkin)
- Kubernetes 集成与部署
第六部分:安全与认证
- Spring Security 核心概念
- 认证与授权实现
- OAuth2 与 JWT 集成
- 社交登录集成
- 权限控制与RBAC模型
- 防止常见安全攻击(CSRF, XSS, SQL注入)
第七部分:监控与运维
- Actuator 端点与健康检查
- 自定义指标与监控
- Prometheus + Grafana 监控集成
- 日志系统集成(Logback, ELK)
- 应用性能监控(APM)
- 热部署与热更新
第八部分:测试与质量
- 单元测试(JUnit5, Mockito)
- 集成测试与@SpringBootTest
- 测试切片(WebMvcTest, DataJpaTest)
- 接口测试(RestAssured)
- 测试覆盖率(JaCoCo)
- 契约测试(Pact)
第九部分:高级特性与原理
- SpringBoot 自动配置原理
- 条件注解与自定义条件
- 启动扩展点与自定义启动器
- 内嵌容器原理与调优
- 自定义Starter开发
- SpringBoot 源码解析
第十部分:最佳实践与架构
- 分层架构设计与实现
- DDD 在SpringBoot中的实践
- 整洁架构与六边形架构
- 代码规范与设计模式应用
- 性能优化与调优
- 打包与部署策略
详细学习内容
第一部分:SpringBoot 基础
1. SpringBoot 概述与核心特性
- SpringBoot 设计理念与解决的问题
- 约定优于配置原则
- 核心特性:自动配置、起步依赖、Actuator、命令行界面
- SpringBoot 与 Spring 框架的关系
- SpringBoot 版本选择与生命周期
2. SpringBoot 项目结构与自动配置原理
- 标准项目结构解析
- 主启动类与@SpringBootApplication注解
- 自动配置机制原理
- spring.factories 文件作用
- @EnableAutoConfigura