java - spring 练习遇到问题?
问题描述
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).log4j:WARN Please initialize the log4j system properly.Exception in thread 'main' org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [autowire.xml]; nested exception is java.io.FileNotFoundException: class path resource [autowire.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92)at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)at com.Spring.autowire.Main.main(Main.java:8)
Caused by: java.io.FileNotFoundException: class path resource [autowire.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)... 13 more
为什么xml文件存在,报错却说文件不存在啊
问题解答
回答1:autowire.xml路径不对, 你要放到src下面, 和applicationContext.xml同目录
回答2:找不到autowire.xml这个文件,如果你要放在包里面,路径要从src开始写,classpath:src/com/Spring/autowire/autowire.xml,要不然就放在src目录下用classpath:autowire.xml
回答3:类路径下找不到autowire.xml文件,也就是位置放错了,和applicationContext.xml放一起就行
放在src里面,所有包的最外层。
相关文章:
