finds.dev← search

// the find

xuchengsheng/spring-reading

★ 9,932 · Java · MIT · updated Jul 2024

涵盖了 Spring 框架的核心概念和关键功能,包括控制反转(IOC)容器的使用,面向切面编程(AOP)的原理与实践,事务管理的方式与实现,Spring MVC 的流程与控制器工作机制,以及 Spring 中数据访问、安全、Boot 自动配置等方面的深入研究。此外,它还包含了 Spring 事件机制的应用、高级主题如缓存抽象和响应式编程,以及对 Spring 源码的编程风格与设计模式的深入探讨。

A large collection of small, standalone Maven modules that each isolate one Spring concept — IOC container internals, AOP proxying, transaction management, SpEL, JSR-330/250 annotations — paired with a Chinese-language writeup explaining how it works under the hood. It's aimed at Java backend developers who want to understand Spring's internals rather than just call its APIs.

One-concept-per-module structure means you can open spring-aop-jdkProxy or spring-core-resolveDependency and run a minimal, runnable example instead of digging through Spring's own sprawling test suite to see a mechanism in isolation. Breadth is real: 100+ modules spanning bean lifecycle, Aware interfaces, BeanPostProcessor variants, AOP internals, and transaction propagation. Each module has its own pom.xml and runs independently, so you're not fighting a monolith to try one example.

Pinned to Spring 5.3.10 / Boot 2.5.5, last pushed July 2024 — no Spring 6, Boot 3, or Jakarta namespace coverage, so it's already behind the current LTS line. The README and per-module writeups are almost entirely in Chinese with no English translation, which caps the audience despite the topic list being broadly useful. Depth is uneven across modules — some are genuine source-level walkthroughs, others are thin wrappers around a single demo class. The table of contents lists several sections (Spring MVC, OpenFeign, @Primary, @Order, GenericApplicationContext) as not-yet-written placeholders, so the scope promised up front isn't fully delivered.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →