종종 클래스 시작 부분에 @Inject 필드의 거대한 목록이 있습니다. 이것은 @Inject 어노테이션의 많은 중복 된 반복이다. 모든 주입 그룹화 한 후여러 필드를 @Inject로 표시하는 @InjectAll 주석
@Inject
private Logger logger;
@Inject
private Event<String> simpleMessageEvent;
: 개별적으로 각 필드에 주석을 이전
: 일부 사용자 지정 주석 마법을 사용
는, 그것은 가능한 코드에서이 단순화를 가능하게하는 새로운 @InjectAll 주석을 작성하는 것입니다 한 그룹의 필드 :
@InjectAll {
private Logger logger;
private Event<String> simpleMessageEvent;
}
또는 더 컴팩트 한 코드를 작성할 수있는 동일한 구문을 사용합니까?
는
Hehe, 나는 당신도 내 코드에서 당신과 같은 목록을 찾았고 ... 나에게 콩이 * 단일 책임 원칙을 어기고 * 리팩토링/재고 할 필요가 있다는 냄새가 난다. 당신이 묻는 것은 * 할 수 있습니다 * (CDI 확장 - 제안 된 구문이 아닌). 그러나 나는 그것이 행해져서는 안된다고 믿습니다. –