Which of the following is TRUE about Dependency Injection (DI) in Spring?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "It promotes loose coupling between components". Dependency Injection (tiêm phụ thuộc) nghĩa là đối tượng không tự new các phụ thuộc mà được IoC container của Spring đưa vào qua constructor, setter hoặc trường; lớp chỉ phụ thuộc vào interface nên có thể thay hiện thực khác mà không sửa mã, đó chính là liên kết lỏng (loose coupling). "It tightly couples the components" nói ngược bản chất, liên kết chặt là tình trạng lớp tự tạo phụ thuộc cụ thể, thứ DI loại bỏ. "It reduces testability of code" cũng ngược lại: nhờ phụ thuộc được truyền từ ngoài, khi kiểm thử đơn vị ta dễ đưa vào mock hoặc stub thay cho cơ sở dữ liệu hay dịch vụ thật. "It is required only for web apps" sai vì DI là cơ chế của Spring Core, dùng cho mọi loại ứng dụng từ ứng dụng dòng lệnh, ứng dụng desktop tới dịch vụ web, và không phải yêu cầu riêng của ứng dụng web.
Cùng phần 2
Spring Beans are managed by which container?Có lời giảiCâu hỏiConsider the following Java code snippet:
public class MyService {
private MyDependency dependency;
public void setDependency(MyDependency dependency) {
this.dependency = dependency;
}
public void performAction() {
dependency.doSomething();
}
}
Which Spring Core Container feature is being demonstrated in this code?Có lời giảiCâu hỏiWhich type of Dependency Injection involves passing dependencies to a class through its constructor?Có lời giảiCâu hỏiCả 21 câu của chủ đề21 câu
Xuất hiện trong 2 bộ đề
Đi tiếp từ đây