//测试反射获取方法名和注解名字和参数
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();//执行添加注解的方法
//方法执行后...
}
}