Spring AOP 问题,如何引用DAO层的方法?

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,太棒了~

第1个回答  推荐于2017-10-06
<script type="text/javascript">
Leaf leaf = new Leaf("Leaf D");
root.Add(leaf);
root.Remove(leaf);
root.Display(1);
Console.Read();
}
第2个回答  2015-07-30
貌似你的UserMapper um; 没有初始化没有实例..
第3个回答  2015-07-30
贴出你的main方法看看追问

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)

最好的办法,打断点

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网