Ajoutez votre propre annotation à la classe ou à la méthode et utilisez les caractères spécifiés dans l'annotation.
--Environnement - Spring AOP 4.3.5 - cglib 2.1_3
La méthode d'acquisition est différente entre l'annotation attachée à la classe et l'annotation attachée à la méthode, et j'y suis tombé par hasard. ..
Annotation attachée à la classe
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ClassAnnotation{
String value() default "defalut";
Classe cible d'aspect
@ClassAnnotation("Class_01")
public class SampleController {
Réalisation d'une partie d'Aspect (PointCat est réalisé autour)
@Around("@within(ann)")
public void classIntercepter(ProceedingJoinPoint pjp, ClassAnnotation ann) throws Throwable{
System.out.println(ann.value());
pjp.proceed();
Annotation attachée à la méthode
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MethodAnnotation {
String value() default "defalut";
Méthode de cible d'aspect
@MethodAnnotation("Method_01")
public void sampleMethod(
Réalisation partie d'Aspect (
@Around("@annotation(ann)")
public void MethodIntercepter(ProceedingJoinPoint pjp, MethodAnnotation ann) throws Throwable{
System.out.println(ann.value());
pjp.proceed();
Réalisation partie d'Aspect(classe)
@Around("@within(com.example.annotation.ClassAnnotation)")
public void classIntercepter(ProceedingJoinPoint pjp) throws Throwable{
pjp.proceed();
Réalisation partie d'Aspect(Méthode)
@Around("@annotation(com.example.annotation.MethodAnnotation)")
public void classIntercepter(ProceedingJoinPoint pjp) throws Throwable{
pjp.proceed();
Une petite annotation Java spéciale Comment écrire le spécificateur de coupure de point Spring AOP Utilisons Annotation avec AspectJ Partie 1
Recommended Posts