Spring 编程常见错误 50 例
傅健
Cisco 高级软件工程师、Netty 源码贡献者
17065 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
结束语 (1讲)
期末测试 (1讲)
Spring 编程常见错误 50 例
15
15
1.0x
00:00/00:00
登录|注册

知识回顾 | 系统梳理Spring编程错误根源

你好,我是傅健。
前面,我们介绍了 50 个各式各样的问题,在正式结束课程之前,我觉得有必要带着你去梳理下或者说复盘下问题出现的原因。错误的表现千万种,但是如果追根溯源的话,其实根源不会太多。
当然可能有的同学会把所有的问题都简单粗暴地归结为“学艺不精”,但是除了这个明显的原因外,我想你还是应该深入思考下,最起码,假设是 Spring 本身就很容易让人犯的错误,你至少是有意识的。那么接下来,我们就来梳理下关于 Spring 使用中常见的一些错误根源。

隐式规则的存在

要想使用好 Spring,你就一定要了解它的一些潜规则,例如默认扫描 Bean 的范围、自动装配构造器等等。如果我们不了解这些规则,大多情况下虽然也能工作,但是稍微变化,则可能完全失效,例如在第 1 课的案例 1 中,我们使用 Spring Boot 来快速构建了一个简易的 Web 版 HelloWorld:
其中,负责启动程序的 Application 类定义如下:
package com.spring.puzzle.class1.example1.application
//省略 import
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
提供接口的 HelloWorldController 代码如下:
package com.spring.puzzle.class1.example1.application
//省略 import
@RestController
public class HelloWorldController {
@RequestMapping(path = "hi", method = RequestMethod.GET)
public String hi(){
return "helloworld";
};
}
但是,假设有一天,当我们需要添加多个类似的 Controller,同时又希望用更清晰的包层次结构来管理时,我们可能会去单独建立一个独立于 application 包之外的 Controller 包,并调整类的位置。调整后结构示意如下:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过系统梳理Spring编程错误根源,帮助读者深入了解Spring框架中常见的错误及其根源。作者指出了使用Spring需要了解其隐式规则,如默认扫描Bean的范围、自动装配构造器等,否则可能导致程序失效。同时,强调了Spring默认配置不一定合理,需要谨慎使用一些看似简洁高效的写法。此外,提醒读者在使用Spring框架时不要理所当然地使用某些功能,需要大胆假设、小心求证,才能规避很多问题。文章还探讨了Spring依赖的变动可能导致微妙的行为变化,以及通用问题如处理含有特殊字符的Path Variable。通过本文的总结,读者可以快速了解Spring编程中常见错误的根源,以及在使用Spring框架时需要注意的一些技术细节,帮助读者避免在实际开发中犯类似的错误。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Spring 编程常见错误 50 例》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 一记妙蛙直拳
    完结撒花!70分,二刷二刷
    2021-06-18
    1
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部