Trung BìnhJava iconJava

Dependency Injection (DI) là gì? Spring cài đặt DI thế nào?

DI cung cấp dependencies cho object từ bên ngoài thay vì object tự tạo — giảm coupling, tăng testability.

Spring cài đặt qua:

  1. Constructor Injection: public UserService(UserRepository repo) {} — được khuyến nghị nhất, immutable, dependencies rõ ràng.
  2. Setter Injection: setRepository(UserRepository) — cho optional dependencies.
  3. Field Injection: @Autowired UserRepository — đơn giản nhưng khó test

IoC container quản lý instantiation và wiring.

Constructor Injection là best practice vì enforce required dependencies.

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java