You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
5.0 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Spring编程常见错误50例
## 你将获得
* 拿来即用的 Spring 编程备忘录
* Spring 核心技术及源码拆解
* Spring Web 关键处理流程详解
* Spring 开发 50+ 常见问题解决方案
## 讲师介绍
傅健Netty 源码贡献者,《微服务之道:度量驱动开发》作者之一,思科中国研发中心平台软件工程师,从业经验 10 余年。
期间做过很多项目,从移动端应用到文档存储系统,从消息系统到电话接入系统。也接触过很多不同类型的开源软件,很喜欢深究原理,所以现在也是 Netty、Jedis、Spring Data Redis、influxdbjava、Jenkins 等很多开源项目的 Contributor。
## 课程介绍
Spring 的广泛应用,让原本一些错综复杂的开发工作变得简单起来。这也让很多后端程序员,尤其是 Java 程序员,从中获益。
只要你使用过 Spring有过一些线上的开发经验或多或少都会遇到类似这样的问题
虽然完成了工作,但是总觉得心里没底。例如在给一个接口类添加 @RestController 注解时,你会想换成 @Controller 会更好吗?
为什么只是稍微“动”了下,就出故障了呢?例如在 Spring Boot 中,将 Controller 层的类移动到 Application 的包之外Controller 层提供的接口就直接“失效”了。
而当真正遇到问题时,又该从何查起?例如有些代码在一些项目中是可以运行的,但是换成另外一个项目就不可以了。甚至有时候都不是换一个项目,只是添加了一些新功能,也会出问题。
当你习惯于 Spring 的便捷强大,是否还能跳出那些既定规则,去思考这些问题背后的原理?面对海量源码,又是否能够快速找到解决方案?
这个专栏衍生于傅健老师近 10 年的开发总结 ToDoList从中节选出了 50+ 代表性案例进行分析,给出最佳解决方案,希望这份避坑指南能带给你最直接的帮助与收获!
### 课程设计
本专栏共分为以下三个部分,可以对照以下这张图去理解设计思路:
![](https://static001.geekbang.org/resource/image/83/fc/834c92d778378859acf4e0e02ee778fc.png)
**Spring Core 篇:**包括 Bean 定义、注入、AOP 等核心功能的使用问题讲解,这是 Spring 的基石。不管未来是做 Spring Web 开发,还是使用 Spring Cloud 技术栈,你都绕不开这些实践。
**Spring Web 篇:**出于大多项目使用 Spring 还是为了进行 Web 开发考虑,作者梳理了从请求 URL 解析、Header 解析、Body 转化到授权等 Web 开发必知必会案例。它们正好涵盖了从一个请求到来,到响应回去这一完整流程。
**Spring 补充篇:**重点介绍 Spring 测试、Spring 事务、Spring Data 相关问题。最后,总结 Spring 使用中发生问题的根本原因。
### 特别说明
1. 为了方便你实践与验证,示例代码可通过 [GitHub](https://github.com/jiafu1115/springissue) 链接下载,点击即可获取。
2. 专栏中案例+代码偏多,不建议仅通过音频学习,重点参考文稿。
3. 这门课需要一定的基础,你要清楚最基本的 Spring 使用知识,比如如何自动注入一个 Bean如何使用 AOP 等。
## 课程目录
![](https://static001.geekbang.org/resource/image/56/69/56b3694ccdde78cfc5197e9a28087069.jpg)
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。