2017-06-30 20 views
1

私は現在Spring DIを勉強しています。org.springframework.beans.factory.BeanDefinitionStoreException、エラーを修正するには?

しかし、何らかのエラーが原因でプロジェクトを実行できませんでした。

以下はエラーの一覧です。

スレッドの例外 "メイン"
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

プロジェクトのディレクトリ構造をアップロードできますか? applicationContext.xmlファイルはどこですか?リソースフォルダ内にありますか? – Afridi

+1

あなたの質問に基づいて記事を改訂します。 –

+1

をご確認ください。 @Afridi –

答えて

1

あなたのプロジェクトは、mavenプロジェクトです。したがって、リソース(ソースファイル以外のファイル)はsrc/main/resourcesに置く必要があります。Mavenがプロジェクトをビルドするとき、src/main/javaのJavaソースファイルのみを探し、他のファイルはすべて無視します。

関連する問題