2014-12-07 64 views
1

一個基本的彈簧芯應用我剛學春,我的第一個節目是裝載一個bean XML和實例化類。創建與IntelliJ IDEA的13個社區版

我會用彈簧芯和我創建了一個Java項目。創建了一個名爲包:

com.lecture

,並把java文件存在以及Bean文件 彈簧的beans.xml

<beans> 
    <bean id="rkdf" class="com.college.RKDFCollege"/> 
    <bean id="cseLect" class="com.college.CSELecturer"/> 
</beans> 

但是當我運行有此代碼的主要類:

ApplicationContext context = new ClassPathXmlApplicationContext("com.lecture.spring-beans.xml"); 

它給m故障E

2014年12月7日下午9點十分37秒 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions信息:從類路徑 資源加載XML bean定義[com.lecture.spring- IOException解析來自類路徑資源的XML文檔 [com.lecture.spring-beans.xml];嵌套的例外是 java.io.FileNotFoundException:類路徑資源 [com.lecture.spring-beans.xml文件]不能打開,因爲它不存在

我是新來這個我沒有任何想法至今!在項目模塊設置中,我添加了JDK和Spring jar。感謝指導。

+0

一個名爲'com.lecture.spring-beans.xml'的文件不在類路徑中。你的文件系統中有這個文件名嗎? – 2014-12-07 16:11:05

回答

1

嘗試使用的XML以下路徑:"com/lecture/spring-beans.xml"

ClassPathXmlApplicationContext對待你的類路徑作爲文件系統。

+0

我們是否必須爲spring提供xmlns,因爲現在SAXParserException在找到並在您的建議之後加載該文件之後。 – xploreraj 2014-12-07 16:14:41

+0

當然。 Xml文件必須在其名稱空間中定義模式。 – 2014-12-07 16:15:28

0

ApplicationContext context = new ClassPathXmlApplicationContext("com.lecture.spring-beans.xml");正在搜索com.lecture.spring-beans.xml文件中的類路徑,我認爲這不是您所創建的文件的名稱。我相信你已經創建了文件spring-beans.xml

確保spring-beans.xml文件在類路徑中。否則,您可以將spring-beans.xml也放在資源文件夾中。然後加載文件爲:

ApplicationContext context = new ClassPathXmlApplicationContext("spring-beans.xml"); 
+0

這不加載,它的裝箱率com.lecture內,但與STAV薩阿德的建議,它加載。但是隨着你的評論我得到了一個新的懷疑,com.lecture已經在classpath中,並且文件在這個包裏面,爲什麼它只加載了xml文件的名字 – xploreraj 2014-12-07 16:18:00

+1

這些文件通常放在資源文件夾中。一旦它在classpath中,它將加載文件。 – nebula 2014-12-07 16:21:48

+1

@xploreraj原因是因爲上下文將相對於類路徑的根的路徑視爲默認包。從那裏的每個子包都被視爲一個文件夾。 – 2014-12-07 16:25:15