CDI(Contexts and Dependency Injection)

JBoss Weld를 기반으로 하는 JSR 346 구현인 Java™ EE 플랫폼을 위한 CDI(Contexts and Dependency Injection) 1.2에 대해 공부하십시오.

CDI는 해당 모듈 내의 beans.xml 파일의 존재에 의해서 또는 JSR 346 스펙에서 정의되는 Bean 정의 어노테이션에 의해 애플리케이션에서 활성화됩니다. 웹 아카이브(WAR)의 WEB-INF 디렉토리 또는 다른 유형의 아카이브의 META-INF 디렉토리에서 beans.xml 파일을 찾을 수 있습니다. 활성화되면 컨테이너는 다음과 같은 서비스를 제공합니다.
  • 컨텍스트 관리
  • Type-safe 종속성 인젝션: CDI-관리 Bean은 필요에 따라 초기화되며 삽입됩니다.
  • 데코레이터, 하나 이상의 Bean 인터페이스를 구현하고 비즈니스 로직을 포함할 수 있습니다. 기본적으로 데코레이터가 사용 안함으로 설정됩니다. Bean당 복수의 데코레이터를 가질 수 있으며 순서는 beans.xml 파일에 의해 정의됩니다. 데코레이터를 사용으로 설정하려면 beans.xml 또는 @Priority를 사용하십시오.
  • 인터셉터 바인딩: beans.xml 파일에서 수동으로 사용 설정되거나 @Priority를 사용하여 글로벌하게 사용 설정되는 인터셉터는 인터셉터 바인딩 유형을 사용하여 바인드됩니다.
  • 이벤트 모델
  • EL(Expression Language)을 사용하는 JSF(JavaServer Face) 및 JSP(JavaServer Pages) 파일로 통합
  • 인터셉터의 인젝션 및 사용을 지원하는 JavaEE 컴포넌트 클래스

JSR 299와 JSR 330용 스펙 관련 API 클래스 및 Apache OpenWebBeans를 기반으로 하는 IBM® 수정된 구현 클래스는 애플리케이션 서버 런타임 환경으로 패키지됩니다.

제품 CDI 구현이 Apache OpenWebBeans를 바탕으로 하더라도, 다음 변경 및 추가사항이 서버 런타임과의 통합을 지원하기 위해 OpenWebBeans에 추가됩니다.
  • 인젝션 가능한 컴포넌트를 지원하는 WebSphere® Application Server Traditional에 있는 다른 Java EE(Java Platform, Enterprise Edition) 컨테이너와의 통합.
  • WebSphere Application Server Traditional 바이트 코드 스캐너를 사용하는 ScannerService 구현.
  • EJB 유형 판별을 위한 제품 EJB(Enterprise JavaBeans) 메타데이터의 직접 사용.
  • 더 이상 각 애플리케이션에 의해 추가될 필요가 없는 CDI 애플리케이션에 대한 서블릿 리스너, 필터, 인터셉터의 자동 등록.
  • 많은 OpenWebBeans SPI(Service Programming Interfaces)의 제품 특정 구현(예: ResourceInjectionService, TransactionService 및 장애 복구 서비스).
중요사항: 컨테이너 관리 트랜잭션 및 보안은 CDI에서 제공되지 않습니다.
문제점 방지 문제점 방지: CDI는 기본 WebSphere Application Server Traditional 클래스 로더 정책인 애플리케이션의 각 WAR 파일에 대한 클래스 로더에 의해서만 지원되며, 대안인 애플리케이션 설정을 위한 단일 클래스 로더에서는 지원되지 않습니다. gotcha

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_cdi
파일 이름:cweb_cdi.html