Heim > Java > javaLernprogramm > Hauptteil

So deklarieren Sie die Aufbewahrung von Java-Meta-Annotationen

王林
Freigeben: 2023-05-03 09:13:16
nach vorne
1387 Leute haben es durchsucht

1. Anmerkungsdeklaration: Eine Anmerkung kann über @interface deklariert werden.

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface BindView {
    int value();
}
Nach dem Login kopieren
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Get {
    String value() default "";
}
Nach dem Login kopieren
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface Queue {
    String value() ;
}
Nach dem Login kopieren

2. @Target-Meta-Annotation, Annotation, ihr Wert wird in der ElementType-Enumerationsklasse definiert.

@Target-Anmerkung wird verwendet, um den Speicherort unseres benutzerdefinierten Anmerkungscodes zu definieren.

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE})
public @interface Target {
    ElementType[] value();
}
Nach dem Login kopieren

1) ElementType.FIELD wird für Mitgliedsvariablen verwendet.

2) ElementType.METHOD wird für Mitgliedsmethoden verwendet.

3) ElementType.PARAMETER wird für Methodenparameter verwendet.

4) ElementType.TYPE wird für Klassen und Schnittstellen verwendet.

5) ElementType.ANNOTATION_TYPE wird in Anmerkungen verwendet.

3.@Retention-Meta-Annotation, der Wert wird in der RetentionPolicy-Enumerationsklasse definiert.

Wird verwendet, um die Phase zu definieren, in der Anmerkungen wirksam werden:

1) QUELLE: Anmerkungen sind nur im Quellcodestadium gültig und werden nicht in Bytecode kompiliert.

2) KLASSE: Anmerkungen sind in der Quellcode- und Bytecode-Phase gültig, in der laufenden Phase jedoch nicht vorhanden.

3) LAUFZEIT: Anmerkungen sind im Quellcode, Bytecode und in laufenden Phasen gültig und werden auch am häufigsten verwendet.

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE})
public @interface Retention {
    RetentionPolicy value();
}
Nach dem Login kopieren
public enum RetentionPolicy {
    SOURCE,
    CLASS,
    RUNTIME;
    private RetentionPolicy() {
    }
}
Nach dem Login kopieren

2. Die Verwendung von Anmerkungen

    @BindView(R.id.start_activity)
    TextView startTextView;
Nach dem Login kopieren
    @Get("http://www.baidu.com")
    Call getPerson(@Queue("name") String name,@Queue("200")int price);
    @Get("http://www.baidu.com")
    Call getPerson();
Nach dem Login kopieren

Die Verwendung von Anmerkungen ist sehr einfach.

Anmerkungen allein haben keine Bedeutung und müssen mit anderen Technologien kombiniert werden.

Anwendung:

1) Annotation + Apt-Annotation-Prozessor, Java-Code erstellen, Datenbindung, Buttermesser, Dolch2-Griff

2) Annotation + Code-Vergrabungspunkt

3) Annotation + Reflexion + dynamischer Proxy-Nachrüstung des xUtils-Lebenszyklus

Das obige ist der detaillierte Inhalt vonSo deklarieren Sie die Aufbewahrung von Java-Meta-Annotationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage