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