序文
現在、Spring3.0、Struts2、その他のフレームワークなど、ますます多くの建築設計が注釈を使用しています。まず、注釈の定義を見てみましょう。以下は、JDK 5 Annotation @Targetを使用するコードです。
@target({elementType.Method})@retention(retentionPolicy.runtime)@enternited@documentedpublic @interface asynlog {}1。@targetの使用
java.lang.annotation.target
注釈使用の範囲を設定するために使用されます
Java.lang.Annotation.ElementType
ターゲットは、列挙コレクションを使用するための注釈スコープを指定します
2。要素の使用
| 値を取得します | 注釈範囲 |
| 方法 | 方法で使用できます |
| タイプ | クラスまたはインターフェイスで使用できます |
| annotation_type | 注釈タイプで使用できます(@interfaceによって変更されたタイプ) |
| コンストラクタ | 建設方法で使用できます |
| 分野 | ドメインで使用できます |
| local_variable | ローカル変数で使用できます |
| パッケージ | Javaファイルのパッケージ情報を記録するために使用されます |
| パラメーター | パラメーターで使用できます |
これがハイライトです:elementType。パッケージ。一般的なクラスではなく、固定されたファイルパッケージinfo.javaで使用されます。ここでは、命名が「パッケージINFO」でなければならないことを強調する必要があります。 Package-info.javaは法的クラスではないため、Eclipseを使用してクラスを作成すると違法であることが促されるため、ファイルを作成する方法でPackage-info.javaを作成する必要があります。
たとえば、範囲パッケージを使用して定義できます。
@target({elementType.Package、elementType.Method})@retention(retentionPolicy.runtime)@enternited@documentedpublic @interface asynlog {}次に、コンテンツを次のように作成します。
コードコピーは次のとおりです。
@asynlog
パッケージorg.my.commons.logs.annotation;
基調講演:注釈は、ElementTypeによって設定された範囲内でのみ使用できます。そうしないと、エラーがコンパイルされます。たとえば、スコープにはElementType.Methodのみが含まれています。つまり、アノテーションはクラスメソッドでのみ使用でき、例外は使用範囲外にコンパイルされます。