//测试反射获取方法名和注解名字和参数
public static void main(String[] args) {
Method[] methods = PurchaserOrderController.class.getMethods();//类中的方法组合for (Method method : methods) {
System.out.print(method.getName() + ":");
System.out.print(method.getAnnotation(PreventRecoverySubmit.class));//方法名称上的注解
System.out.println();
}
}
//定义一个切面编程
(定义这个切面之前先导入jar包)
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
@Aspect //定义一个切面
@Order(10)//排序
@Component
public class LogAspect {
private static final Logger logger = LoggerFactory.getLogger(LogAspect.class);
// 定义切点Pointcut
@Pointcut("execution(* com.ouryue.*.controller.*Controller.*(..))")
@Around("excudeService()")
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
//方法执行前...
Object result = pjp.proceed();//执行添加注解的方法
//方法执行后...
}
}
本文介绍如何使用Java反射API来获取方法名及其注解,并通过面向切面编程(AOP)实现方法调用的日志记录功能。
1451

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



