Nội dung
Danh sách bài học
- 01~4 phút
Bean Lifecycle & Scopes — tổng quan
Sau khi hiểu container, module này mổ vòng đời từng bean (9 giai đoạn, AOP proxy) và các scope quyết định bean sống bao lâu cùng cách nó được chia sẻ.
- 02~12 phút
Bean lifecycle — 9 giai đoạn từ instantiate đến destroy
9 giai đoạn cố định của một bean Spring: constructor, populate @Autowired, Aware, init hooks, destroy — vì sao thứ tự không thể đảo và pitfall null field.
- 03~12 phút
AOP Proxy — JDK Dynamic Proxy vs CGLIB và pitfall self-call
Spring wrap bean trong proxy tại init phase để chèn @Transactional/@Async. So sánh JDK Dynamic Proxy vs CGLIB, khi nào chọn cái nào, và pitfall self-call bypass.
- 04~12 phút
Singleton vs Prototype scope — cache và scope-mismatch trap
Singleton = 1 entry trong singletonObjects map của container; prototype tạo mới mỗi lookup. Pitfall scope-mismatch khi inject prototype vào singleton, và 3 cách fix đúng.
- 05~13 phút
Request & Session Scope — web scope và scoped proxy
Request scope = 1 bean/HTTP request; session scope = 1 bean/session. Cơ chế ThreadLocal, vì sao cần scoped proxy, và pitfall @Async mất request context.
- 06~4 phút
Bean Lifecycle & Scopes — tổng kết
Tóm tắt module Bean Lifecycle & Scopes: 9 giai đoạn vòng đời bean, AOP proxy JDK vs CGLIB, singleton/prototype, và request/session scope với scoped proxy.