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 {