Nội dung
Danh sách bài học
- 01~4 phút
Nhập môn & IoC/DI — tổng quan
Spring tồn tại để giải một bài toán: ai giữ quyền tạo và nối object. Module này đi từ bối cảnh Spring, bản chất IoC, 3 hình thức DI, tới circular dependency.
- 02~30 phút
Spring là gì — bài toán framework giải quyết và bản đồ kiến trúc
Vì sao Spring xuất hiện năm 2003 và vẫn dominate sau 22 năm. Bài toán Java EE để lại, Rod Johnson và quyển sách 800 trang, kiến trúc 20 module của Spring Framework, 5 lớp cốt lõi của Spring Boot, vòng đời 1 HTTP request, và lộ trình các bài tiếp theo bóc tách từng phần.
- 03~10 phút
Inversion of Control — đảo ngược quyền kiểm soát
IoC là design principle: quyền tạo và nối dependency bị đảo từ code bạn viết sang container. Bài này giải thích bản chất IoC, lý do cần IoC (testability, decoupling), và cơ chế trước/sau khi áp dụng.
- 04~12 phút
Dependency Injection — 3 hình thức, cơ chế resolve, và generic-aware injection
Bài atomic về DI: constructor vs setter vs field — tại sao constructor được khuyến nghị (final, immutable, test ngoài Spring, phát hiện circular sớm); cơ chế Spring resolve @Autowired (by type → by name); generic-aware injection và Collection injection.
- 05~12 phút
Circular dependency — ba dạng vòng lặp và cơ chế three-level cache
Constructor-constructor circular không giải được; field/setter circular Spring giải bằng three-level cache (singletonObjects, earlySingletonObjects, singletonFactories). Bài này mổ từng cấp cache, giải thích tại sao constructor injection không có early reference, và hướng fix đúng.
- 06~4 phút
Nhập môn & IoC/DI — tổng kết
Tóm tắt Nhập môn & IoC/DI: Bạn vừa nắm nền tảng IoC/DI — gốc của mọi thứ trong Spring.