2011-02-23 47 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