说明:
本文以环绕切面配合反射、注解为示例
@Around(value = "cutMethods() && withAnnotationMethods()")
public Object around(ProceedingJoinPoint point) throws Throwable {
long startTime = System.currentTimeMillis();
//通过请求上下文持有者,获取 Servlet 容器对象
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//通过 Servlet 容器对象获取 request 请求对象
HttpServletRequest request = attributes.getRequest();
MethodSignature methodSignature = (MethodSignature) point.getSignature();
Method method = methodSignature.getMethod();
BusinessLock lockAnnotation = method.getAnnotation(BusinessLock.class);
//获取所有参数的类型和名称
Parameter[] parameters = method.getPara

本文详细介绍了Java切面中的环绕增强如何配合反射和注解进行操作。通过 ProceedingJoinPoint 获取切入点信息,结合ServletRequestAttributes获取请求对象,进一步分析方法对象、参数类型和名称,以及参数的注解信息。利用@Around注解定义切入条件,展示了Java切面在业务处理中的灵活性。
订阅专栏 解锁全文
296

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



