import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface MyAnnotation {
String descraption() default "";
}@Aspect
@Component
public class AnnotationImplement {
@Pointcut("@annotation(com.aop.MyAnnotation)")
public void annotation(){
//任何代码都不会执行
}
@Around("annotation()")
public void afterPoint(ProceedingJoinPoint point){
System.out.println(point.getTarget().getClass().getName());
Object[] obj = point.getArgs();
for (int i = 0; i < obj.length; i++) {
System.out.println(obj.toString());
}
}
}
参考:https://my.oschina.net/xwl1990/blog/509192
本文介绍了一种使用Java注解和面向切面编程(AOP)来定义切入点的方法。通过自定义注解MyAnnotation和切面类AnnotationImplement,可以在运行时拦截被该注解标记的方法并执行特定操作。
2114

被折叠的 条评论
为什么被折叠?



