Contexts and Dependency Injection (CDI) を使用するアプリケーションの検証

ワークスペースは、Contexts and Dependency Injection アプリケーションのインラインおよびクイック・フィックス検証を提供します。

始める前に

ワークスペースで Java EE ファセット・プロジェクト (すなわち、ユーティリティー・プロジェクト、EJB プロジェクト、または Web プロジェクト) を作成します。これらのプロジェクトのいずれかを作成する方法については、ウィザードを使用した Java EE プロジェクトの作成と構成を参照してください。

このタスクについて

ユーザー入力の検証機能は CDI ファセット済みプロジェクトでサポートされます。

手順

  1. Java EE パースペクティブで、Contexts and Dependency Injection の注釈を使用するクラスを開きます。 例えば、新しい注釈 @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 が以下の規則に準拠している必要があります。
      • 非アクティブ化が可能なのはステートフル・セッション Bean のみです。ステートレスまたは singleton 注釈付きセッション bean が以下の非アクティブ化スコープのいずれかで宣言された場合、検証エラーが発行されます。クイック・フィックス・サポートを使用すると、@Stateful 注釈を置換できます。
      • Bean クラス、すべてのインターセプターおよびデコレーターが順序付け可能である場合、管理 Bean は非アクティブ化に対応しています。
        注: Bean クラスが順序付け可能ではない場合、検証でエラーのフラグが付けられ、順序付け可能にするためにクイック・フィックスが提供されます。インターセプターおよびデコレーターの検証は提供されません。
  3. タイプ制限の検証 管理 Bean には、java.lang.Object、Bean クラス、スーパークラス、および直接的または間接的に実装されるインターフェースなどの、正当な Bean タイプが含まれます。@Typed 注釈を使用して Bean タイプのセットを制限できますが、制限されるセットは正当な Bean タイプ・セットのサブセットでなければならず、それ以外の場合は検証エラーが発行されます。これに対してクイック・フィックス・サポートは提供されません。

フィードバック