# SpringError **Repository Path**: lpg0326/spring-error ## Basic Information - **Project Name**: SpringError - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-11 - **Last Updated**: 2024-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前置知识 ## SpringBoot 启动流程 ![SpringBoot 源码运行机制](https://www.processon.com/view/link/67072f6317a0ab66dac1f0a4?cid=611bc4110e3e741288b321b8) ## 容器初始化 创建 AnnotationConfigServletWebServerApplicationContext 核心源码分析: ![初始化流程](https://www.processon.com/view/link/6706133817a0ab66dac0873f?cid=63ec9c2b65ffca5c5552eb0a) # 扫描 1. 隐式扫描 SpringBoot 隐式扫描 SpringBootApplication 注解未指定 basePackages 时,扫描的包会是当前所在的包,而一旦显式指定其它包,原来的默认扫描包就被忽略了 SpringBootApplication --> ComponentScan 未指定时执行 ComponentScanAnnotationParser.parse # 注入 1. @Value 错误注入 2. @Resource 依赖查找并注入bean 3. @Resource List 注入 # mvc header 1. header 大小写敏感问题 2. 重复 header 名称 # 推荐学习资料 [廖雪峰:手写 Spring](https://liaoxuefeng.com/books/summerframework/introduction/index.html) [郝佳:Spring 源码深度解析(第2版)](https://u.jd.com/LO9MZXI) [极客时间:小马哥讲 Spring 核心编程思想](http://gk.link/a/12s1P)