你将获得
- 拿来即用的 Spring 编程备忘录
- Spring 核心技术及源码拆解
- Spring Web 关键处理流程详解
- Spring 开发 50+ 常见问题解决方案
课程介绍
Spring 的广泛应用,让原本一些错综复杂的开发工作变得简单起来。这也让很多后端程序员,尤其是 Java 程序员,从中获益。
只要你使用过 Spring,有过一些线上的开发经验,或多或少都会遇到类似这样的问题:
虽然完成了工作,但是总觉得心里没底。例如在给一个接口类添加 @RestController 注解时,你会想换成 @Controller 会更好吗?
为什么只是稍微“动”了下,就出故障了呢?例如在 Spring Boot 中,将 Controller 层的类移动到 Application 的包之外,Controller 层提供的接口就直接“失效”了。
而当真正遇到问题时,又该从何查起?例如有些代码在一些项目中是可以运行的,但是换成另外一个项目就不可以了。甚至有时候都不是换一个项目,只是添加了一些新功能,也会出问题。
当你习惯于 Spring 的便捷强大,是否还能跳出那些既定规则,去思考这些问题背后的原理?面对海量源码,又是否能够快速找到解决方案?
这个专栏衍生于傅健老师近 10 年的开发总结 ToDoList,从中节选出了 50+ 代表性案例进行分析,给出最佳解决方案,希望这份避坑指南能带给你最直接的帮助与收获!
课程设计
本专栏共分为以下三个部分,可以对照以下这张图去理解设计思路:
Spring Core 篇:包括 Bean 定义、注入、AOP 等核心功能的使用问题讲解,这是 Spring 的基石。不管未来是做 Spring Web 开发,还是使用 Spring Cloud 技术栈,你都绕不开这些实践。
Spring Web 篇:出于大多项目使用 Spring 还是为了进行 Web 开发考虑,作者梳理了从请求 URL 解析、Header 解析、Body 转化到授权等 Web 开发必知必会案例。它们正好涵盖了从一个请求到来,到响应回去这一完整流程。
Spring 补充篇:重点介绍 Spring 测试、Spring 事务、Spring Data 相关问题。最后,总结 Spring 使用中发生问题的根本原因。
特别说明
- 为了方便你实践与验证,示例代码可通过 GitHub 链接下载,点击即可获取。
- 专栏中案例 + 代码偏多,不建议仅通过音频学习,重点参考文稿。
- 这门课需要一定的基础,你要清楚最基本的 Spring 使用知识,比如如何自动注入一个 Bean,如何使用 AOP 等。
课程目录
![](https://static001.geekbang.org/resource/image/64/16/646b0159a2cf7c5cde79bb22f0cd7516.png)
![](https://static001.geekbang.org/resource/image/86/73/866ef165163dbceb12903b2596741273.jpg)
![](https://static001.geekbang.org/resource/image/a4/7f/a4924cb1afcd5a7b49ef84f1bc974b7f.jpg)
![](https://static001.geekbang.org/resource/image/ee/9d/ee4e027522f8f7144b12bcd3d8f6b29d.jpg?x-oss-process=image/resize,m_fill,h_74,w_74)
Java工程师
![](https://static001.geekbang.org/resource/image/d4/74/d46d28c922505c8070eff6daa3192d74.jpg)
![](https://static001.geekbang.org/resource/image/96/69/96607ee10fc5d0e2ce4ea828c48a6369.jpg)
![](https://static001.geekbang.org/resource/image/aa/4e/aa1005366bab254e69de8391e172394e.jpg)
![](https://static001.geekbang.org/resource/image/65/c0/65dc525140a25af39b780aaae65821c0.jpg)
![](https://static001.geekbang.org/resource/image/f7/18/f7791c62d8f354ff680855eab2d22518.png)
![](https://static001.geekbang.org/resource/image/03/38/0339708b46e28d497a10b09a3a935838.jpg)