SpringBoot 课程介绍
# 10.SpringBoot 课程介绍
先提前说明下本系列教程
本系列博客接近 70 篇,都是逐个视频看完并且写出的,致力于能通过博客完成 SpringBoot 的学习。
该课程会结合源码来分析,有点深度,慢慢看还是能学到东西的,当然时间也会比较久,不少人评论要一个月(本人也差不多 1 个月内完成)。
共勉!
# 学习前提
基础知识:了解 Servlet,Spring,SpringMVC,MySQL,Mybatis,Maven,Redis,Junit
环境要求:Java8 及以上,Maven 3.3 及以上。SpringBoot 官网文档 (opens new window) 也有说明。
# 相关资料
B 站地址:【尚硅谷】SpringBoot2 零基础入门教程(spring boot2 干货满满)_哔哩哔哩_bilibili (opens new window),视频累计 26 小时,播放量达 300w
代码在 Gitee:SpringBoot2 核心技术与响应式编程 (opens new window)
文档在语雀:SpringBoot2 核心技术与响应式编程 (opens new window),注意语雀不支持 IE 和 Edge,建议用 Chrome 和 Firefox
整理过的 PDF 文件(来在评论区):百度云 (opens new window),提取码:ab88
# 课程介绍
比起上一个版本,SpringBoot 2 的配置有很多的变化,基于 JDK8 开发,底层的设计改动也很大,另外 SpringBoot2 也在大力推广响应式编程,所以有必要重新讲解一遍。因此课程主要分 2 季:
第一季:SpringBoot2 核心技术
SpringBoot2 基础入门
- Spring 能做什么?
- 什么是 SpringBoot
- 快速体验 SpringBoot
- 自动配置原理入门
SpringBoot2 核心功能
- 配置文件
- web 开发:例如请求映射和处理、视图解析、跨域处理、文件上传、web 原生和定制化等
- 数据访问:操作 MySQL,整合 Mybatis 和 Mybatis-plus
- Junit5 单元测试:SpringBoot 1 用的是 Junit4,Junit5 比起 Junit4 有很大的变化
- 生产指标监控:Acturor 模块
- SpringBoot 核心原理解析
SpringBoot2 场景整合
- 虚拟化技术
- 安全控制
- 缓存技术
- 消息中间件
- 分布式入门
- ......
第二季:SpringBoot 响应式编程。第一季的内容,其实响应式编程都有替代方案。所谓的响应式编程就是来解决一个问题:如何使用少量资源,能编写一个极高吞吐量,能承担大并发的一个应用。所以我们响应式编程是未来的趋势,SpringBoot2 也一直在大力推广
- 响应式编程基础:编程模型,使用 Reactor 开发
- Webflux 开发 web 应用
- 响应式访问持久化层:访问 MySQL 和 NoSQL(例如 Redis)
- 响应式安全开发
- 响应式原理:IO 模型,Netty-Reactor 和数据流处理原理
# 所有视频
一共有 87 个视频:
01、基础入门-SpringBoot2 课程介绍
02、基础入门-Spring 生态圈
03、基础入门-SpringBoot 的大时代背景
04、基础入门-SpringBoot 官方文档架构
05、基础入门-SpringBoot-HelloWorld
06、基础入门-SpringBoot-依赖管理特性
07、基础入门-SpringBoot-自动配置特性
08、底层注解-@Configuration 详解
09、底层注解-@Import 导入组件
10、底层注解-@Conditional 条件装配
11、底层注解-@ImportResource 导入 Spring 配置文件
12、底层注解-@ConfigurationProperties 配置绑定
13、自动配置【源码分析】-自动包规则原理
14、自动配置【源码分析】-初始加载自动配置类
15、自动配置【源码分析】-自动配置流程
16、最佳实践-SpringBoot 应用如何编写
17、最佳实践-Lombok 简化开发
18、最佳实践-dev-tools
19、最佳实践-Spring Initailizr
20、配置文件-yaml 的用法
21、配置文件-自定义类绑定的配置提示
22、web 场景-web 开发简介
23、web 场景-静态资源规则与定制化
24、web 场景-welcome 与 favicon 功能
25、web 场景-【源码分析】-静态资源原理
26、请求处理-【源码分析】-Rest 映射及源码解析
27、请求处理-【源码分析】-怎么改变默认的_method
28、请求处理-【源码分析】-请求映射原理
29、请求处理-常用参数注解使用
30、请求处理-@RequestAttribute
31、请求处理-@MatrixVariable 与 UrlPathHelper
32、请求处理-【源码分析】-各种类型参数解析原理
33、请求处理-【源码分析】-Servlet
34、请求处理-【源码分析】-Model、Map 原理
35、请求处理-【源码分析】-自定义参数绑定原理
36、请求处理-【源码分析】-自定义 Converter 原理
37、响应处理-【源码分析】-ReturnValueHandler 原理
38、响应处理-【源码分析】-HTTPMessageConverter 原理
39、响应处理-【源码分析】-内容协商原理
40、响应处理-【源码分析】-基于请求参数的内容协商原理
41、响应处理-【源码分析】-自定义 MessageConverter
42、响应处理-【源码分析】-浏览器与 PostMan 内容协商完全适配
43、视图解析-Thymeleaf 初体验
44、web 实验-后台管理系统基本功能
45、web 实验-抽取公共页面
46、web 实验-遍历数据与页面 bug 修改
47、视图解析-【源码分析】-视图解析器与视图
48、拦截器-登录检查与静态资源放行
49、拦截器-【源码分析】-拦截器的执行时机和原理
50、文件上传-单文件与多文件上传的使用
51、文件上传-【源码流程】文件上传参数解析器
52、错误处理-SpringBoot 默认错误处理机制
53、错误处理-【源码分析】底层组件功能分析
54、错误处理-【源码流程】异常处理流程
55、错误处理-【源码流程】几种异常处理原理
56、原生组件注入-原生注解与 Spring 方式注入
57、原生组件注入-【源码分析】DispatcherServlet 注入原理
58、嵌入式 Servlet 容器-【源码分析】切换 web 服务器与定制化
59、定制化原理-SpringBoot 定制化组件的几种方式
60、数据访问-数据库场景的自动配置分析与整合测试
61、数据访问-自定义方式整合 druid 数据源
62、数据访问-druid 数据源 starter 整合方式
63、数据访问-整合 mybatis-配置版
64、数据访问-整合 Mybatis-注解配置混合版
65、数据访问-整合 MyBatisPlus 操作数据库
66、数据访问-crud 实验-数据列表展示【补录】
67、数据访问-crud 实验-分页数据展示
68、数据访问-crud 实验-删除用户完成
69、数据访问-准备阿里云 redis 环境
70、数据访问-redis 操作与统计小实验
71、单元测试-Junit5 简介
72、单元测试-常用测试注解
73、单元测试-断言机制
74、单元测试-前置条件
75、单元测试-嵌套测试
76、单元测试-参数化测试
77、指标监控-SpringBoot Actuator 与 Endpoint
78、指标监控-开启与禁用
79、指标监控-定制 Endpoint
80、指标监控-Boot Admin
81、高级特性-Profile 环境切换
82、高级特性-配置加载优先级
83、高级特性-自定义 starter 细节
84、原理解析-SpringApplication 创建初始化流程
85、原理解析-SpringBoot 完整启动过程
86、原理解析-自定义事件监听组件
87、后会有期