Idea中找不到Java Application 的xml配置文件問題研究

Idea中找不到Java Application 的xml配置文件問題研究
 
問題:
在用Idea創建一個Java Application工程的時候,應用了Spring框架,但是Spring的xml配置文件找不到。檢查代表不是代碼的問題。費了我好長時間才解決。
 
出現問題,我對Idea中加載各類資源文件(.xml、.properties等)作了研究總結。爲了說明問題,下面創建一個Spring的test工程,目標就是運行後在控制檯打印一個「Hello World!」,着重看Idea中資源的配置方法。以及不一樣配置方法會引發的不用效應。
 
環境:
IntelliJ IDEA 5.1.2 (我認爲最好用的版本,如今7.0剛出來)
J2SDK 1.5
Spring framework 1.2.8
WIN2003
 
 
搭建測試項目:
 
依賴的包
commons-logging.jar
spring-beans.jar
spring-context.jar
spring-core.jar
 
源代碼:
 
一、Bean類HelloBean :
public class HelloBean {
    private String helloWord;
   
    public void setHelloWord(String helloWord) {
        this.helloWord = helloWord;
    }
    public String getHelloWord() {
        return helloWord;
    }
}
 
二、主類SpringDemo :
public class SpringDemo {
//    public static void main(String[] args) {
//        Resource rs =
//                new FileSystemResource("beans-config.xml");
//        BeanFactory factory =
//                new XmlBeanFactory(rs);
//
//        HelloBean hello =
//                (HelloBean) factory.getBean("helloBean");
//        System.out.println(hello.getHelloWord());
//    }
    public static void main(String args[]){
//        ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml");
        ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");
        HelloBean hello = (HelloBean)context.getBean("helloBean");
        System.out.println(hello.getHelloWord());
    }
}
 
三、Spring的配置文件beans-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
  "
[url]http://www.springframework.org/dtd/spring-beans.dtd[/url] ">
<beans>
    <bean id="helloBean"
          class="lavasoft.springtest.HelloBean">
        <property name="helloWord">
            <value>Hello World!</value>
        </property>
    </bean>
</beans>
 
 
Idea配置:
下面是Idea項目的目錄結構:
 
 
配置jar和資源文件:
 
 
目錄類型設置圖:
 
 
按照上圖配置後,運行結果以下:
 
研究結果:
目錄有三種類型,在圖中已經給出了文字說明。
下面主要看res目錄:
一、這個目錄通常命名爲res,以表示資源。
二、若這個目錄設置爲「Sources」類型,則在工程編譯後,resorce目錄下的文件會原封不動的複製到編譯後生成文件的目錄,在此爲classes目錄,而且在Idea的工程面板中能夠看到res目錄的存在。
三、這個目錄設置爲普通文件夾類型(淺×××的文件包),則在工程編譯後,resorce目錄下的文件不會複製到classes目錄,而且在Idea的工程面板中看不到此目錄。
四、res目錄下的文件要能被程序找到,則須要在Idea中配置res目錄到classpath下面。參看第二個圖。
五、這個配置方法適合其餘的類型的配置文件好比.properties文件,原理就是將這些文件加載到calsspath中,這樣就能夠在Idea中調試運行了。
 
相關文章
相關標籤/搜索