2012-08-28 25 views
8

là mới đối với CDI, tôi muốn biết sự khác biệt thực tế giữa giải pháp thay thế và Vòng loại.CDI: @alternative vs @Qualifiers

trong Weld reference, nó nói rằng:

4,3. Chú thích vòng loại

Nếu chúng tôi có nhiều hơn một loại đậu thực hiện một loại đậu cụ thể, điểm tiêm có thể xác định chính xác hạt nào sẽ được tiêm bằng cách sử dụng chú thích định tính.

nhưng trong khi giải thích sự thay thế, người ta nói:

4,7. Các lựa chọn thay thế

Giải pháp thay thế là các hạt có thực hiện cụ thể cho một mô-đun hoặc kịch bản triển khai cụ thể của .

Nếu tôi hiểu đúng, @Qualifier xác định việc triển khai bean đích nào được tiêm vào Điểm tiêm.

Mặt khác mô tả một mong muốn trong quá trình triển khai phụ thuộc vào khách hàng về việc có hay không một Alternatice cho tiêu chuẩn (nghĩa là "@ default") có nghĩa là đậu được tiêm vào điểm tiêm.

Đúng vậy?

+0

Đúng vậy. – dcernahoschi

Trả lời

2

Vâng, đúng vậy. Bạn có thể tưởng tượng vòng loại làm mẫu dệt cơ bản mà bạn thiết lập vào thời gian phát triển, sử dụng chú thích trong mã nguồn của bạn.

Giải pháp thay thế cho phép bạn ghi đè điều này tại thời điểm thực thi bằng cách sử dụng tệp beans.xml - một tạo phẩm triển khai đơn giản.

Một trường hợp điển hình là sử dụng beans.xml khác nhau cho các môi trường khác nhau và do đó kích hoạt các lựa chọn thay thế cho các thành phần mà bạn không muốn thực thi trên môi trường cục bộ/tích hợp của mình.