カスタム注釈カスタム注釈
利用シナリオ
- クラスプロパティが読み込まれます。
- オブジェクトのプロパティの整合性を確認してください。
- 代わりに、春の注釈ベースの設定のようなプロファイル機能、の。
- あなたは、Javaのコード注釈のようなドキュメントを生成することができます@参照、@のparamなど
まず、カット方法
- パラメータのキャリブレーションを実装ConstraintValidator
- HandlerInterceptorAdapterクラスが実装HandlerInterceptorAdapterセクション、および容器に、必要なレジストリアスペクトクラス
- AOP
第二に、パラメータの説明
ターゲット@ 1、
- 処置:注釈は、パッケージ、型(クラス、インタフェース、列挙、注釈型)、メンバー・タイプに使用することができる(メソッド、コンストラクタ、メンバ変数の値を列挙)、およびメソッドのパラメータ:修飾された対象範囲の注釈を示しますローカル変数(例えば、可変ループ、キャッチパラメータ)。それは、ターゲットを変更することをより明確にすることができます注釈型宣言でターゲットを使用してください。
- 値(のElementType)は、次のとおりです。
- CONSTRUCTOR:コンストラクタを記述するために使用されます
- FIELD:フィールドを記述するために使用
- LOCAL_VARIABLE:記述するために使用されるローカル変数
- METHOD:について記載された方法
- パッケージ:パッケージには、記述するために使用しました
- PARAMETER:記述するために使用されるパラメータ
- TYPE:クラス、(注釈のタイプを含む)インターフェース、または列挙宣言を記述するために使用
文書化@ 2、
- アクション:@Documented表示注釈情報のjavacを生成します
3、@リテンション
- 役割:RetentionPolicy列挙体で定義されたそれは、注釈付きのノート、3つの戦略の合計を保持しているどのくらいの時間を定義します。
- 値:
- SOURCE:コンパイラによって無視されています。コンパイル相を廃棄では、コンパイラの終了後にこれらのノートは、もはや彼らは、書き込みバイトコードしない、何の意味もありません。@Override、@SuppressWarningsは、このようなコメントに属します。だから彼らは、ソースレベルのアノテーションと呼ばれています。自動コード生成は、ロンボクなど経験豊富な開発を、持っていた、我々は、自動的に注釈することにより、コンパイル時に生成されたコードの一部であることを知っているソースコードを見クリーナーは、バイトコードは非常に強力であることを確認してください。
- CLASS:クラスのノートは、ファイルに保持さが、実行時とVMは予約されませんされます。これは無駄保持注釈ノートにすべてがこの戦略を採用する、デフォルトの動作です。
- RUNTIME:実行するために予約さ。だから我々は、反射コメントを介して情報を取得するために行くことができます。
継承@ 4、
- 役割は:注釈のサブクラスは親クラスを継承することができます。注釈の定義注釈がクラスA、Bの継承Aの場合に作用した場合、Bクラスにも注釈Aを継承します
githubの:https://github.com/Baker-abc/baker-learning-springboot/tree/master/learn-custom-annotation