flowchart LR
N0["01 版本与证据"]
N1["02 启动与请求"]
N2["03 模块与依赖"]
N3["04 数据与事务"]
N4["05 安全与运行"]
N5["06 横向对照"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
开源项目架构研究
现代 Java Backend Engineering 学习路线:开源项目架构研究
0 子目录8 文档

CHAPTER OVERVIEW · 章节概览
带着固定问题进入源码,先确认版本和证据,再追踪请求、数据与模块边界;不同项目用同一框架比较。
本章学习路线
箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。
按顺序学习
8Java 开源项目统一源码研究模板读开源项目不用从第一个目录一路读到最后。先固定版本,选一条具体请求,沿着入口、业务处理和数据保存走一遍。下面的记录格式帮助区分代码直接证明的事实、自己的推断和还没验证的问题。Spring Petclinic 架构研究入口Petclinic 的业务比较直观,适合第一次练习读 Spring 应用源码。可以选“查看主人及宠物信息”这条路径,从页面或接口找到控制器,再跟到数据访问和测试,不必先通读所有配置。Spring Modulith 架构研究入口读 Spring Modulith 源码时,可以先选一个模块验证或事件测试作为入口。看测试期待什么结果,再追踪实现,比只看模块名称更容易理解它解决的问题。本篇保留固定快照,方便重复查找。Spring Petclinic Microservices 架构研究入口这份 Petclinic 示例把熟悉的业务拆到了多个服务。可以与单体版本对照:一次查询多经过了哪些网络调用,配置与发现放在哪里,某个服务停掉后会怎样?这些变化比服务数量更值得研究。Keycloak 架构研究入口Keycloak 仓库很大,先选一个登录流程或协议处理入口即可。沿请求找身份、会话和令牌相关代码,同时阅读对应测试。本篇讨论范围以固定快照为准,不要求初学者一次理解整套身份平台。JHipster Generator 架构研究入口JHipster 有两层值得分开看:生成项目的工具,以及它生成出来的应用。先用一个选项观察生成结果,再回到模板和测试找原因,就能看清配置怎样变成代码。RuoYi-Vue-Plus 架构研究入口阅读 RuoYi-Vue-Plus 时,可以从一个带权限的业务接口入手,跟踪它怎样进入服务层、访问数据并返回前端。再比较租户和权限条件在哪里加入,不要只根据目录名推测实际行为。Spring AI 架构研究入口研究 Spring AI 时,先选一次模型调用,跟踪请求怎样经过客户端与扩展点,再到提供商适配层。向量检索、工具调用和记忆可以分别阅读,不必把所有集成能力看成每次调用都会执行的步骤。