Which DI type is generally considered the most recommended due to its immutability and testability benefits?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Constructor Injection". Với constructor injection, các phụ thuộc truyền qua tham số hàm tạo nên trường có thể khai báo final (bất biến), đối tượng luôn được tạo ra ở trạng thái đầy đủ, phụ thuộc bắt buộc lộ rõ, và khi viết unit test chỉ cần tạo lớp đó với mock mà không cần container; tài liệu Spring khuyến nghị cách này cho phụ thuộc bắt buộc, và lớp chỉ có một hàm tạo thì không cần @Autowired. "Setter Injection" hợp với phụ thuộc tuỳ chọn hoặc có thể đổi lại sau, nhưng trường không thể final và đối tượng có thể bị dùng khi chưa tiêm đủ. "Field Injection" (@Autowired trên trường) gọn nhưng giấu phụ thuộc, không cho final và buộc dùng reflection hoặc container khi test. "Method Injection" là kỹ thuật đặc biệt như lookup method để lấy bean prototype mới từ một bean singleton, không phải cách tiêm thông thường được khuyến nghị.

Cùng phần 2

Xuất hiện trong 1 bộ đề