2011-02-23 27 views
7

我們有相當多的項目使用相同的代碼庫(後端代碼)。 只是前端往往是不同的。 我們決定,最好的辦法是單獨的後端和前端到不同的項目:引擎項目名跨多個項目劃分彈簧配置

現在,這些都是Spring的項目。因此,如果我們將彈簧配置分開,似乎也是合理的: Database.xml,Services.xml將屬於項目引擎。 和具體的Frontend.xml將屬於Project_Name。 要連接這些,我需要一個通用的SpringBeans.xml導入所有這些XML的。

我嘗試以下目錄結構:

發動機項目

  • 配置
      • Database.xml
      • 的services.xml

PROJECT_NAME項目

  • 配置
    • SpringBeans.xml
    • 彈簧
      • Frontend.xml

SpringBeans.xml的內容是簡單的:

<import resource="spring/Database.xml"/> 
    <import resource="spring/Services.xml"/> 
    <import resource="spring/Frontend.xml"/> 

我設置Eclipse所以PROJECT_NAME項目引用引擎項目。 當我啓動它時,會找到SpringBeans.xml,但找不到Engine項目中的XML文件(FileNotFoundException)。 我還會注意到,在將引擎和前端代碼分解到不同的項目之前,導入其他XML文件的原理像一個魅力一樣工作。

所以我的問題給你:是否有可能在不同的項目中使用不同的Spring配置很好地一起玩?

回答

11

由於Spring bean配置文件在類路徑中,你需要前綴claspath添加到資源位置:

<import resource="classpath:spring/Database.xml"/> 
<import resource="classpath:spring/Services.xml"/> 
<import resource="classpath:spring/Frontend.xml"/> 
+0

謝謝你的提示!我試過了,但第一眼仍然給了FileNotFoundException。我將首先確定類路徑是否定義良好 – 2011-02-23 14:32:59

+0

確實是類路徑。我必須讓我的Engine項目成爲Maven項目。然後使用Maven依賴項導入。我會接受你的回答,因爲它完全回答了這個問題。謝謝 – 2011-02-23 15:09:55