首页 > 其他 > 详细

手动new对象出现空指针的解决办法详解

时间:2019-06-30 23:57:39      阅读:272      评论:0      收藏:0      [点我收藏+]
java.lang.NullPointerException at com.example.new_oa.identity.service.impl.IdentityServiceImpl.getAllDepts(IdentityServiceImpl.java:51) at com.example.new_oa.NewOaApplicationTests.initDb(NewOaApplicationTests.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

技术分享图片

笔者在进行开发测试的时候,代码中是通过注解将业务层对象放入spring容器的,而在测试时,时通过手动new的业务层对象,去调用的方法,但是在方法的内部却出现了空指针的情况,这是怎么回事呢?后来发现,在我的业务层方法中,是依赖了持久层对象的,而持久层对象又是通过注解引入的,前面由于业务层对象是通过手动new出来的,所以该对象中并没有把持久层对象注入进去,所以出现了空指针的情况。所以将手动的new的对象,修改为从容器中获取就好了。

手动new对象出现空指针的解决办法详解

原文:https://blog.51cto.com/14423206/2415452

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!