Tôi đang di chuyển một ứng dụng sang Java EE 7 và muốn CDI 1.1. Nhưng tôi không hiểu ý nghĩa của bean-discovery-mode="annotated"
. Các CDI 1.1 specification không phải là rất hữu ích. Ít nhất tôi đã không tìm thấy bất kỳ đoạn hữu ích nào. Tôi đã bỏ lỡ nó?Ý nghĩa chế độ khám phá đậu được chú thích trong CDI 1.1
dụ này chạy hoàn hảo với bean-discovery-mode="all"
và tiêm nhiễm một thể hiện của LoggingClass
:
public class LoggingClass {
public Logger logger = Logger.getLogger("ALOGGER");
}
@Test
public class MMLoggerProducerIT extends Arquillian {
@Inject private LoggingClass lc;
}
Nhưng nếu tôi thay đổi bean-discovery-mode="all"
-bean-discovery-mode="annotated"
container không có khả năng tiêm một thể vào trường lc
.
Tôi làm cách nào để chú thích LoggingClass
để sử dụng bean-discovery-mode="annotated"
chính xác?
Tôi chỉ đoán, nhưng tôi nghĩ '@Named' hoặc '' @ManagedBean 'sẽ là ứng cử viên? –
@Mike_Braun Được đặt tên sẽ chỉ hiển thị một hạt trong ngữ cảnh EL nhưng sẽ không cho nó phạm vi. ManagedBean là một chú thích JSF, công cụ CDI sẽ bỏ qua nó. – Yuri