dependency injection
Dependency Injection (DI) là pattern dùng để hiện thực nguyên tắc Inversion of Control (IoC). Object không tự `new` mấy thứ nó cần nữa, mà để một bên quản lý chung (như Spring Container) "tiêm" (inject) dependency vào qua constructor, setter hoặc field. Nhờ vậy các class ít dính chặt vào nhau (loose coupling), code linh hoạt, dễ sửa và nhất là dễ viết unit test.












