From e55b624c0e9f49193b34bbb9dddfc30813df6659 Mon Sep 17 00:00:00 2001 From: huang054 Date: Tue, 2 Jul 2019 15:25:12 +0800 Subject: [PATCH] jdkproxy invoke bug --- src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java | 4 ++-- .../java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java b/src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java index b3be1ea..a257d41 100644 --- a/src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java +++ b/src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java @@ -36,8 +36,8 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl // 从AdvisedSupport里获取方法拦截器 MethodInterceptor methodInterceptor = advised.getMethodInterceptor(); // 如果方法匹配器存在,且匹配该对象的该方法匹配成功,则调用用户提供的方法拦截器的invoke方法 - if (advised.getMethodMatcher() != null - && advised.getMethodMatcher().matches(method, advised.getTargetSource().getTarget().getClass())) { + if (advised.getMethodMatcher() == null + || advised.getMethodMatcher().matches(method, advised.getTargetSource().getTarget().getClass())) { return methodInterceptor.invoke(new ReflectiveMethodInvocation(advised.getTargetSource().getTarget(), method, args)); } else { diff --git a/src/main/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java b/src/main/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java index 4667cd2..7fef08b 100644 --- a/src/main/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java +++ b/src/main/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java @@ -25,8 +25,8 @@ public Object getProxy() { @Override public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable { MethodInterceptor methodInterceptor = advised.getMethodInterceptor(); - if (advised.getMethodMatcher() != null - && advised.getMethodMatcher().matches(method, advised.getTargetSource().getTarget().getClass())) { + if (advised.getMethodMatcher() == null + || advised.getMethodMatcher().matches(method, advised.getTargetSource().getTarget().getClass())) { return methodInterceptor.invoke(new ReflectiveMethodInvocation(advised.getTargetSource().getTarget(), method, args)); } else {