Heim  >  Artikel  >  Java  >  Einführung in die Verwendung von Java-Implementierungsanmerkungen

Einführung in die Verwendung von Java-Implementierungsanmerkungen

黄舟
黄舟Original
2017-09-14 10:49:431526Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Implementierung und Verwendung von Java-Annotationen im Detail vorgestellt. Ich hoffe, dass jeder, der Hilfe benötigt, durch diesen Artikel das Wissen über Java-Annotationen verstehen und beherrschen kann

Erläuterung von Java im Detail Implementierung und Verwendung von Annotationen

Java-Annotationen werden in Java5 veröffentlicht. Ihre Funktion besteht darin, Konfigurationsdateien zu speichern und die Lesbarkeit des Codes zu verbessern. Es ist heutzutage in verschiedenen Frameworks und Entwicklungen weit verbreitet, daher möchte ich es hier erklären.

So erstellen Sie eine Anmerkung


Jede benutzerdefinierte Anmerkung besteht aus vier Meta-Anmerkungen, die von Java selbst bereitgestellt werden:


@Target(ElementType .**)


Dies ist eine Aufzählung. Oben werden die benutzerdefinierten Anmerkungen wie Klassen, Variablen, Methoden usw. verwendet.


@Retention( RetentionPolicy.**) wird verwendet, um anzugeben, auf welcher Ebene die Annotation gespeichert wird, z. B. während der Kompilierung, in Klassendateien und während der VM-Ausführung dass diese Anmerkung vom Javadoc-Tool in ein Dokument extrahiert wird. Der Inhalt im Dokumentdokument unterscheidet sich je nach Informationsgehalt dieser Annotation


@Inherited: Nachdem Sie die Annotation definiert und im Programmcode verwendet haben, werden die Annotationen in der übergeordneten Kategorie unterschiedlich sein Es wird nicht in Unterkategorien vererbt. Sie können beim Definieren von Annotationen eine durch java.lang.annotation.Inherited qualifizierte Annotation hinzufügen, die die Vererbung des von Ihnen definierten Annotationstyps ermöglicht.

Starten Sie nach der Einführung der Theorie den Code (Reden ist billig, zeigen Sie Ihren Code)


package com.yasin.JavaLearn;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 这是一个类级别的注释,这个注释中有一个name字段,默认值是 yasin
 * @author yasin
 *
 */

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Learn {
  String name() default "yasin";
}


package com.yasin.JavaLearn;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 这是一个变量级别的注解,注解中有一个字段name,默认值是field
 * @author yasin
 *
 */

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FiledLearn {
  String name() default "field";


}
Ich habe oben drei Annotationen definiert, bei denen es sich häufig um dreistufige Annotationen von Klassen, Variablen und Methoden handelt.


Im Folgenden definiere ich eine Klasse und verwende diese drei Annotationen
package com.yasin.JavaLearn;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 这是一个方法级别的注解
 * @author yasin
 *
 */

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MethodLearn {
  String name() default "method";

}


Im Folgenden erfahren Sie, wie Sie diese Annotation verwenden und die Annotation extrahieren. Die entsprechenden Variablen und Methoden werden durch Klassenreflexion erhalten, und Anmerkungen werden aus den Variablen und Methoden erhalten.


package com.yasin.JavaLearn;

@Learn
public class Yasin {

  @FiledLearn
  public int level;

  @FiledLearn(name="xq")
  public String xq;

  public String a;


  @MethodLearn(name="test")
  public void setMain(){

  }

  public void setA(){

  }

}

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Java-Implementierungsanmerkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn