CDI 주석이있는 bean을 선언하는 jar와 관련된 문제점이 있으며 스프링 컨텍스트와 EE6 컨텍스트에서 모두 사용됩니다.EI6 컨텍스트와 Spring DI 컨텍스트에서 모두 사용되는 CDI 주석이있는 클래스
이 항아리, service.jar
은 (@Qualifier
당신은 당신의 bean을 식별하기 위해 @DataAccessObject
으로 자신의 주석을 선언 할 수 있습니다) 한정자 주석 클래스를 포함하고 @Inject
주석 개인 회원을 보유 말한다.
maven으로 컴파일되었으므로 javax.javaee-api
에 대한 종속성은 provided
으로 선언됩니다. 이러한 클래스는 EE6 컨텍스트 내에 배포 된 경우에만 필요하기 때문입니다.
비록 내가 이해하지 못하는 것이 있습니다. 이 service.jar
에서 컴파일 된 후 EE6 컨텍스트에 배포하는지 여부는 바이트 코드가 [email protected]
과 같은 클래스를 참조합니다.
그렇다면 스프링 응용 프로그램 (해당 클래스 경로에 javax.javaee-api
jar가 없음)이 올바르게 구성을로드하고 실행할 수있는 이유는 무엇입니까? 봄이 @Inject
(JSR 330) 주석을 지원한다는 것을 알았을 때 더욱 혼란 스러웠습니다.
누구나 저에게 계몽 할 수 있습니까?
감사합니다.
이 긴 역사가있다는 주로 정치적,이 비록 완전하게, 약간의 실마리를. http://stackoverflow.com/questions/7238407/will-spring-support-cdi – rdcrng