CDI(Contexts and Dependency Injection)를 사용하는 애플리케이션의 유효성 검증

작업공간에서는 CDI(Contexts and Dependency Injection) 애플리케이션에 대한 인라인의 빠른 수정사항 유효성 검증을 제공합니다.

시작하기 전에

작업 공간에 Java EE 패싯 프로젝트(즉, 유틸리티 프로젝트 또는 EJB 프로젝트나 웹 프로젝트)를 작성하십시오. 이러한 프로젝트 작성에 대한 정보는 마법사를 사용하여 Java EE 프로젝트 작성 및 구성의 내용을 참조하십시오.

이 태스크 정보

CDI 패싯 프로젝트에서는 입력 시 유효성 검증이 지원됩니다.

프로시저

  1. In the Java EE 퍼스펙티브에서 CDI 어노테이션을 사용하는 클래스를 여십시오. 새 어노테이션을 추가하는 경우(예: @ApplicationScoped), 빠른 수정사항 아이콘을 마우스 오른쪽 단추로 클릭하고 필수 가져오기를 추가하십시오.
    CDI 유효성 검증
    import javax.enterprise.context.ApplicationScoped; import 문이 클래스에 추가됩니다.
  2. 범위 지정된 유효성 검증
    1. 유효성 검증이 CDI 범위 유형으로 빌드된 다음으로 제한됩니다.
      • @RequestScoped
      • @ApplicationScoped
      • @SessionScoped
      • @ConversationScoped
      • @Dependent
    2. Bean 클래스, producer 메소드 또는 producer 필드에는 다중 범위 선언을 사용할 수 없습니다. 유효성 검증에서는 이를 오류로 플래그하고 문제점 해결을 위해 빠른 수정사항을 제공합니다.
    3. 유효성 검증기의 서브세트가 다음과 같은 패시베이션 범위를 지원합니다.
      • @SessionScoped
      • @ConversationScoped
      이러한 어노테이션은 세션 Bean 및 관리 Bean에서 선언할 수 있습니다. 이러한 Bean을 패시베이션이 가능하게 하려면 다음 규칙에 부합해야 합니다.
      • Stateful 세션 Bean만 패시베이션이 가능합니다. Stateless 또는 싱글톤의 어노테이션이 있는 세션 Bean이 패시베이션 범위 중 하나를 사용하여 선언되는 경우 유효성 검증 오류가 발생합니다. 빠른 수정사항 지원을 통해 @Stateful 어노테이션으로 바꿀 수 있습니다.
      • Bean 클래스 및 모든 인터셉터와 데코레이터가 직렬화 가능인 경우 관리 Bean을 패시베이션할 수 있습니다.
        참고: Bean 클래스를 직렬화할 수 없는 경우 유효성 검증은 오류를 플래그하고 이를 직렬화 가능으로 만들기 위한 빠른 수정사항을 제공합니다. 인터셉터와 데코레이터에는 유효성 검증이 제공되지 않습니다.
  3. 유형 제한 유효성 검증 관리 Bean에는 java.lang.Object, Bean 클래스, 수퍼 클래스와 직/간접적으로 구현하는 모든 인터페이스를 포함하는 적법한 Bean 유형 세트가 있습니다. @Typed 어노테이션을 사용하여 Bean 유형을 제한할 수는 있지만 제한된 세트는 반드시 적법한 Bean 유형 세트의 서브세트여야 합니다. 그렇지 않으면 유효성 검증 오류가 발생합니다. 여기에는 빠른 수정사항 지원이 제공되지 않습니다.

피드백