public class UserSerImpl implements UserSer {
UserMapper um;
@Override
public void DeleteTest(String uid) {
um.selectAll();
// System.out.println("删除成功");
}
<!--beans 如下-->
<bean id="userService" class="app.home.service.impl.UserSerImpl"/>
<bean id="logBeforeAdvice" class="app.home.service.LogBeforeAdvice"/>
<bean id="logAfterAdvice" class="app.home.service.LogAfterAdvice"/>
<bean id="factory" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="app.home.service.UserSer"/>
<property name="target" ref="userService"/>
<property name="interceptorNames">
<list>
<!--<value>logBeforeAdvice</value>-->
<value>logAfterAdvice</value>
</list>
</property>
</bean>
异常
Exception in thread "main" java.lang.NullPointerException
at app.home.service.impl.UserSerImpl.DeleteTest(UserSerImpl.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:50)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy0.DeleteTest(Unknown Source)
at app.home.test.TestAOP.main(TestAOP.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Process finished with exit code 1
问题解决了,确实没有引用到Dao方法,学习了Spring AOP,太棒了~
Leaf leaf = new Leaf("Leaf D");
root.Add(leaf);
root.Remove(leaf);
root.Display(1);
Console.Read();
}
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring.xml");
UserSer userService=(UserSer)context.getBean("factory");
userService.DeleteTest("test");
at app.home.service.impl.UserSerImpl.DeleteTest(UserSerImpl.java:13)
最好的办法,打断点