Spring 3 @ImportResource包含多个文件

Kes*_*115 24 java spring spring-3

我正在尝试使用Spring 3 @ImportResource注释找到导入多个spring xml上下文文件的语法.

我尝试使用逗号分隔文件名,如下图所示,但这不起作用:

@Configuration
@ImportResource("spring-context1.xml", "spring-context2.xml")
public class ConfigClass { }
Run Code Online (Sandbox Code Playgroud)

@ImportResource的文档说"表示包含要导入的bean定义的一个或多个资源".所以我认为应该有一种方法来指定多个上下文文件.令人惊讶的是,我无法在Google上找到任何示例

aja*_*mes 60

尝试:

@Configuration  
@ImportResource( { "spring-context1.xml", "spring-context2.xml" } )  
public class ConfigClass { }  
Run Code Online (Sandbox Code Playgroud)

  • 如果你想导入类路径之外的资源,语法将是`@ImportResource({"file:path/spring-context1.xml","file:path/spring-context2.xml"})`只需添加这是因为它似乎对那些来到这篇文章的人有所帮助. (7认同)

Sai*_*deh 6

您需要在文件名之前添加类路径

@ImportResource(value = { 
    "classpath:file1.xml",
    "classpath:file2.xml"
    })
Run Code Online (Sandbox Code Playgroud)

  • @WaleryStrauch什么?真的吗?没有任何理由.这个答案看起来非常好. (2认同)
  • @WaleryStrauch然后投票并忘掉它.没有必要将它标记为低质量,这就是我发现它的方式.放手吧. (2认同)
  • 你必须添加类路径才能使它工作,你的答案却没有. (2认同)
  • 投票赞成,因为没有其他答案包含工作所需的“classpath:”前缀。 (2认同)