Classe d'outils Spring - Utilisation d'AnnotatedElementUtils

URL d'origine : Classe d'outils Spring - Utilisation d'AnnotatedElementUtils_IT Knives Out Blog-CSDN Blog

Introduction

Cet article présente l'utilisation de la classe d'outils AnnotatedElementUtils de Spring.

La différence entre AnnotatedElementUtils et AnnotationUtils : (AnnotatedElementUtils est plus puissant)

caractéristique

AnnotatedElementUtils

AnnotationUtils

Fonction

Gérez plusieurs annotations sur des éléments tels que des classes, des méthodes, des champs, etc.

Traitez les annotations individuelles.

portée

Peut gérer plusieurs annotations et gérer la situation dans laquelle plusieurs annotations sont liées les unes aux autres.

Seules les annotations spécifiées peuvent être traitées et les relations entre plusieurs annotations ne peuvent pas être traitées.

Relation d'héritage des annotations

Peut identifier la relation d'héritage des annotations. Par exemple:

1. Les annotations enfants sont utilisées, mais elles peuvent être jugées par la classe d'annotation parent.

2. Obtenez la valeur de l'annotation enfant via l'annotation parent

Impossible de reconnaître la relation d'héritage des annotations

Portée de la recherche d'annotations

La recherche d'annotations recherchera de manière récursive des annotations sur la classe parent et l'interface de l'élément.

Recherche uniquement les annotations sur l'élément transmis lui-même.

usage

annotation

package com.example.annotation;

import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
@Inherited
public @interface MyAnnotation {
    @AliasFor(attribute = "location")
    String value() default "";
    
    @AliasFor(attribute = "value")
    String location() default "";
}
package com.example.annotation;

import org.springframework.core.annotation.AliasFor;
 
import java.lang.annotation.*;
 
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
@Inherited
@MyAnnotation
public @interface SubMyAnnotation {
    @AliasFor(annotation = MyAnnotation.class)
    String location() default "";

//    这个不能写,只能有一个与父属性名同名的属性,否则报错
//    @AliasFor(annotation = MyAnnotation.class)
//    String value() default "";
}

manette

Ce qui précède fait partie de l'article. Pour faciliter la maintenance, le texte intégral a été transféré à cette URL : Spring Tool Class-Usage of AnnotatedElementUtils-Self-Study Elf

Je suppose que tu aimes

Origine blog.csdn.net/feiying0canglang/article/details/132540463
conseillé
Classement