Heim  >  Artikel  >  Java  >  So deklarieren Sie die Aufbewahrung von Java-Meta-Annotationen

So deklarieren Sie die Aufbewahrung von Java-Meta-Annotationen

王林
王林nach vorne
2023-05-03 09:13:161342Durchsuche

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

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

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();
}

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();
}
public enum RetentionPolicy {
    SOURCE,
    CLASS,
    RUNTIME;
    private RetentionPolicy() {
    }
}

2. Die Verwendung von Anmerkungen

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen