1076 字
约 3 分钟
7
S07-X01 · Spring 八股速查与跨系列索引
定位:附录索引。题 → 一句话答案 → 正文位置。
覆盖旧文:2328(1301) 2618(507) 2358(5) + 跨系列(S24×4 / S13 / S06 / S15)= 2,517 点。
上一篇:S07-A02 · WebFlux vs MVC:响应式到底适合谁
下一篇:S08 · MyBatis(下一系列)。
1. 容器与 Bean(对应 B01/B02)
| # | 问题 | 一句话答案 | 正文 |
|---|---|---|---|
| 1 | IoC 与 DI 的区别 | 原则 vs 实现 | B01 §2 |
| 2 | Bean 从哪来 | 组件扫描 / @Bean / 手动注册 |
B01 §3 |
| 3 | 容器启动做了什么 | 读配置→BeanDefinition→实例化→BPP→事件 | B01 §4 |
| 4 | 三种注入方式 | 构造器(推荐)/setter/字段 | B01 §5 |
| 5 | Bean 生命周期顺序 | 构造→注入→@PostConstruct→afterPropertiesSet→…→@PreDestroy |
B02 §2 |
| 6 | 单例 Bean 线程安全吗 | 只有无状态才安全 | B02 §4 |
| 7 | prototype 谁销毁 | 容器不管 | B02 §5 |
2. AOP 与事务(对应 B03/J01)
| # | 问题 | 一句话答案 | 正文 |
|---|---|---|---|
| 8 | AOP 实现方式 | 代理(JDK/CGLIB) | B03 §3 |
| 9 | 代理在哪生成 | postProcessAfterInitialization |
B02 §2 |
| 10 | 为什么自调用失效 | 不走代理 | B03 §4、J01 §1 |
| 11 | final/private 能被切吗 | 不能 | B03 §3 |
| 12 | 七种传播行为 | REQUIRED/REQUIRES_NEW/NESTED/SUPPORTS/NOT_SUPPORTED/MANDATORY/NEVER | J01 §2 |
| 13 | @Transactional 失效六因 |
自调用/非 public/异常类型/吞异常/跨线程/引擎 | J01 §3 |
| 14 | 受检异常回滚吗 | 默认不回滚 | J01 §3 |
3. MVC 与 Boot(对应 B04/B05/B06)
| # | 问题 | 一句话答案 | 正文 |
|---|---|---|---|
| 15 | 请求链路顺序 | Filter→Interceptor→Controller→afterCompletion→Filter | B04 §2 |
| 16 | Filter 与 Interceptor 区别 | 规范层 vs MVC 层;能否拿到 HandlerMethod | B04 §3 |
| 17 | @Valid 失败状态码 |
400(FastAPI 是 422) | B04 §4、B06 §2 |
| 18 | @SpringBootApplication 组成 |
@SpringBootConfiguration+@ComponentScan+@EnableAutoConfiguration |
B05 §2 |
| 19 | 自动配置原理 | @Conditional + imports 文件 |
B05 §2 |
| 20 | 怎么覆盖默认 Bean | 自己定义(@ConditionalOnMissingBean) |
B05 §2 |
| 21 | 为什么不用装 Tomcat | 内嵌容器 | B05 §4 |
| 22 | 可执行 jar 缺什么 | spring-boot-maven-plugin repackage |
B05 §4 |
4. 进阶(对应 J02–J05)
| # | 问题 | 一句话答案 | 正文 |
|---|---|---|---|
| 23 | 三级缓存各存什么 | 完整 Bean / 早期原始 Bean / ObjectFactory | J02 §2 |
| 24 | 为什么需要三级 | 提前暴露 AOP 代理 | J02 §2 |
| 25 | 构造器循环依赖能解吗 | 不能(Boot 2.6+ 默认禁止) | J02 §4 |
| 26 | 事件默认同步吗 | 同步(实测 [2] 阻塞 [3]) |
J03 §1 |
| 27 | 事件与事务 | 需 AFTER_COMMIT 才能读到提交后数据 |
J03 §4 |
| 28 | 默认调度器线程数 | 1(scheduling-1) |
J04 §1 |
| 29 | @Async 默认线程池 |
每次新建线程 | J04 §3 |
| 30 | 定时任务多实例重复 | 需分布式锁/调度中心 | J04 §4 |
| 31 | 幂等的最终防线 | 数据库唯一约束 | J05 §2 |
| 32 | POST 幂等吗 | 不幂等 | J05 §5 |
5. 架构(对应 A01/A02)
| # | 问题 | 一句话答案 | 正文 |
|---|---|---|---|
| 33 | 认证/授权边界 | 网关认证 + 服务授权 | A01 §4 |
| 34 | Security vs Shiro | Spring 栈选前者,简单场景可选后者 | A01 §3 |
| 35 | JWT 可撤销吗 | 不可(需黑名单/短过期) | A01 §5 |
| 36 | WebFlux 收益条件 | 高并发 + IO 密集 | A02 §2 |
| 37 | 局部改响应式行吗 | 不行(一处阻塞全崩) | A02 §3 |
6. 跨系列登记
| 卡 | 内容 | 去向 |
|---|---|---|
| A-140 / 142 / 157 / 161 | Rules/Hooks/Subagent 等 | S24 AI 编程工具 |
| A-284 | 父子索引 | S13 搜索 |
| A-373 | 工具类封装 | S06-A01 |
| A-320 | WSL2 | S15 运维 |
| A-2358 | 若依作为上手项目 | 仅登记(选型讨论) |
本篇属于系列《S07 · Spring 框架》,是基础层附录。
S07-X01 · Spring 八股速查与跨系列索引
https://www.clxhxhhr.top/posts/5281/ 评论
0 条
还没有评论,先写一条吧。