不能标志成resour'ces root是怎么回事?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

空指针异常,既有值为null的对象调用方法或属性导致的

同学看看具体是哪一行代码报空指针异常了呢?那个对象去调用方法了呢?对象就应该是null

然后再看一下为什么是null。

,如果还是不清楚,请同学再贴一下代码,注意不要贴在回复里,会失去代码的格式。可以在回答里贴一下。并且告诉老师报错的具体是哪个代码。(不用只说行数,粘进来的代码老师的行数不一定和你的一样)

祝学习愉快

提问者 慕粉1469801537 2019-03-28 15:01:07

package com.imooc.aspect.demo1;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import javax.annotation.Resource;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class AspectTest {
   @Resource(name="productDao")
   private  ProductDao productDao;
   @Test
   public void demo1(){
//        ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
//        ProductDao productDao = (ProductDao) application.getBean("productDao");
       productDao.save();
       productDao.update();
       productDao.delete();
   };

}


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
   <aop:aspectj-autoproxy/>
   <!--定义目标类-->
   <bean id="productDao" class="com.imooc.aspect.demo1.ProductDao"/>
   <!--定义切点-->
   <bean class="com.imooc.aspect.demo1.MyAspectj"/>
</beans>


productDao.save();这一行报错

java.lang.NullPointerException

at com.imooc.aspect.demo1.AspectTest.demo1(AspectTest.java:21)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:254)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner.run(ParentRunner.java:309)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:193)

at org.junit.runner.JUnitCore.run(JUnitCore.java:160)

at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)

at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)

at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)

at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)



Process finished with exit code -1


  • 应该是没有注入成功,可能会和jdk的版本有关,请问同学的jdk版本是否是jdk10 呢? 如果是,同学参考一下这个问答下的回复:http://class.imooc.com/course/qadetail/73633 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-03-28 15:11:39
  • 提问者 慕粉1469801537 回复 好帮手慕阿莹 #2
    谢谢老师终于解决了,但是这是什么依赖,什么原因呢
    2019-03-28 15:21:18
  • 好帮手慕阿莹 回复 提问者 慕粉1469801537 #3
    经测试jdk10的这个jar包对Resource支持不好,猜测可能是jdk10自带的这个jar包对Resource有冲突,我们自己手动引入一下这个注解的依赖就可以了。祝学习愉快。
    2019-03-28 15:26:23
好帮手慕阿莹 2019-03-28 14:23:41

因为你的文件夹已经是了:

http://img1.sycdn.imooc.com//climg/5c9c68600001b44408910406.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕粉1469801537 #1
    那老师我报空指针什么原因,我原来以为是我不能标志成resources root package com.imooc.aspect.demo1; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import javax.annotation.Resource; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class AspectTest { @Resource(name="productDao") private ProductDao productDao; @Test public void demo1(){ productDao.save(); productDao.update(); productDao.delete(); }; } <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <aop:aspectj-autoproxy/> <!--定义目标类--> <bean id="productDao" class="com.imooc.aspect.demo1.ProductDao"/> <!--定义切点--> <bean class="com.imooc.aspect.demo1.MyAspectj"/> </beans>
    2019-03-28 14:30:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师