Java でカスタム アノテーションを実装する方法: 最初に新しい Java ファイルを作成してアノテーションをカスタマイズし、次にメタ アノテーションを使用してさまざまな項目を定義し、最後にアノテーションのビジネス ロジックを定義します。
Java でカスタム アノテーションを実装する方法:
1. アノテーション (MyValidate) をカスタマイズし、要素を使用します。アノテーションはさまざまな用途を定義します
# 2. アノテーションのビジネス ロジックを定義します。ここではアノテーションの属性が 1 つだけ実装されています: isNotNull()これで楽しく使用できます 実際のプロジェクトでは、インターセプタまたはアスペクトを通じて実装されます:1. 定義します。 BaseCheck という名前のインターフェイス。BaseCheck には抽象チェック メソッドがあり、チェック メソッドの戻り値はブール値です。 2. @NotNull、@Length などの検証アノテーションを定義します。 3. 上記の注釈に従って、NotNullCheck、LengthCheck などの対応する検証クラスを定義します。 4. NotNullCheck と LengthCheck はどちらも BaseCheck のチェックメソッドを実装する必要があり、チェックメソッド内に検証処理を記述する必要があります。 5. コンテナを定義し、プロジェクト開始時に NotNullCheck と LengthCheck のオブジェクトをコンテナに配置します。 Spring を使用する場合は、NotNullCheck と LengthCheck に直接 @Component アノテーションを追加します。も同様の効果が得られます。 6. インターセプターまたはアスペクトを定義します。 7. このインターセプターまたはアスペクトでは、ユーザー オブジェクトであるリクエスト パラメーターを取得します。 8. リフレクションにより、ユーザー オブジェクトに対応するクラスを取得します (クラス名は User でなければなりません)。 9. User のすべてのフィールドを調べて、各フィールドに注釈が含まれているかどうかを確認します。 10. フィールド上のすべての注釈をスキャンします。 11. アノテーション @NotNull が見つかった場合は、対応するチェック クラス、BaseCheckbaseCheck =container.get("NotNullCheck")または BaseCheckbaseCheck = を探します。 (BaseCheck) SpringUtl.getBean("NotNullCheck")12. 見つかった場合、つまり、baseCheck が空でない場合は、リフレクションを通じてこのフィールドの実際の値を取得し、この値をパラメータとして使用し、baseCheck を呼び出します。 .check メソッド13 では、baseCheck.check は false を返した場合にエラーを報告し、すべてのフィールドとすべての注釈が走査されるまで続行します。
関連する学習の推奨事項:
以上がJavaでカスタムアノテーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。