我目前正在学习Spring DI。
但由于某些错误,我无法运行该项目。
以下是错误列表。
线程中的异常" main"
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
at org.springframework.context.support.GenericXmlApplicationContext.load(GenericXmlApplicationContext.java:124)
at org.springframework.context.support.GenericXmlApplicationContext.<init>(GenericXmlApplicationContext.java:69)
at Spring_DI.MainClass.main(MainClass.java:15)
Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
以下是applicationContext.xml的内容。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="cats" class="Spring_DI.Cats" />
<!-- "Spring_DI.MyCats"클래스를 myCats라는 id를 지정해서 객체(bean)을 생성 -->
<bean id="myCats" class="Spring_DI.MyCats">
<!-- Spring_DI.Cats.MyCats라는 클래스에 있는 필드들의 값을 설정해줌 -->
<property name="cats"><!-- 첫번째 property(필드) -->
<ref bean="cats"/><!-- 이 property는 위에서 생성한 bean(객체)인 cats를 참조한다. -->
</property>
<property name="firstCatName" value="순덕" /><!-- MyCats의 필드의 이름과 값을 설정 -->
<property name="secondCatName" value="나비" />
<property name="firstCatAge" value="1" />
<property name="secondCatAhttps://stackoverflow.com/jobs?med=site-ui&ref=jobs-tabge" value="2" />
</bean>
</beans>
这是java文件的内容。
package Spring_DI;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
//bean을 설정한 xml파일이 있는 위치 지정
String configLocation = "classpath:applicationContext.xml";
//지정한 위치를 참고하여 설정파일을 얻어옴
AbstractApplicationContext ctx =
new GenericXmlApplicationContext(configLocation);
//설정파일에서 bean을 가져옴
//getBean()를 이용해서 MyCats타입에서 myCats를 얻어와서 객체를 생성
// = 방법1 예제처럼 직접 생성이 아닌 외부에서 얻어옴(주입을 시켜줌)
MyCats myCat = ctx.getBean("myCats",MyCats.class);
//호출
myCat.catsNameInfo();
myCat.catsAgeInfo();
}
}
以下是项目结构。 enter image description here
如何处理上述错误?
为什么会出现上述错误?
请告诉我如何解决问题。
答案 0 :(得分:1)
根据屏幕截图,您的项目是maven项目。因此资源(除源文件之外的任何其他文件)应该放在src / main / resources中。当Maven构建你的项目时,它希望只找到src / main / java下的Java源文件,并忽略所有其他文件。 / p>