@Test
public  void testAddParamCount()
{
ApplicationContext context = new ClassPathXmlApplicationContext("E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml");
UserDao userDao =(UserDao)context.getBean("userDao");
int result=userDao.addParamCount("user_table", "enterCount", 1);
assertEquals(1,1);
}
junit 报错:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml] cannot be opened because it does not exist
Caused by: java.io.FileNotFoundException: class path resource [E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:135)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:307)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:173)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:389)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
at com.test.junit.UserTest.testAddParamCount(UserTest.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)说找不到配置
我都改成绝对路径了 为什么还是报错呢
开始我写的是相对路径
ApplicationContext context = new ClassPathXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml");也是一样的错误!
麻烦各位高手了!

解决方案 »

  1.   

    我知道是FileNotFoundException 找不到文件 就是路径的问题啊!!麻烦各位大侠!我的路径应该怎么写啊!绝对路径:E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml
    相对路径:../WebRoot/WEB-INF/applicationContext.xml 我写了 WebRoot/WEB-INF/applicationContext.xml 也不对
      

  2.   


    //applicationContext.xml文件应该放在src根目录下,再这样就行
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
      

  3.   

    问题已经解决 可以用 ApplicationContext ctx =
        new FileSystemXmlApplicationContext("E:/work/javaPro/yt_apple/WebRoot/WEB-INF/applicationContext.xml"); 代替
      

  4.   

    哦,恭喜啦. 我也学习学习.非要这么做. 使用文件读取,就不能用Class路径了
      

  5.   

    ClassPathXmlApplicationContext这个类是从classpath下检索你的Spring配置文件,也就是src,换句话说,就是你项目的WEB-INF下的classes目录,而你的文件确实保存在WEB-INF目录下,当然找不到如果楼主希望通过绝对路径检索,那么可以尝试使用FileSystemXmlApplicationContext这个类
    但是我开发中,基本上都是将配置文件保存在src目录下,例如:
    src\spring\spring.xml
    ApplicationContext ctx=new ClassPathXmlApplicationContext("spring\spring.xml");希望我的回答可以帮到你