【问题标题】:Spring 3 @ImportResource with multiple files带有多个文件的 Spring 3 @ImportResource
【发布时间】:2013-02-06 22:04:05
【问题描述】:

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

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

@Configuration
@ImportResource("spring-context1.xml", "spring-context2.xml")
public class ConfigClass { }

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

【问题讨论】:

    标签: java spring spring-3


    【解决方案1】:

    试试:

    @Configuration  
    @ImportResource( { "spring-context1.xml", "spring-context2.xml" } )  
    public class ConfigClass { }  
    

    【讨论】:

    • 啊需要花括号。谢谢阿姆斯
    【解决方案2】:

    需要在文件名前加上cla​​sspath

    @ImportResource(value = { 
        "classpath:file1.xml",
        "classpath:file2.xml"
        })
    

    【讨论】:

    • @WaleryStrauch 什么?严重地?不是什么理由。这个答案看起来很好。
    • @Zizouz212 是的,认真的!没有理由复制 2 年前给出的答案的相关部分并再次粘贴为新答案。投票删除。
    • @WaleryStrauch 然后投反对票并忘记它。将其标记为低质量毫无意义,这就是我发现的。放手吧。
    • 您必须添加类路径才能使其正常工作,您的答案缺少这一点。
    • 赞成,因为没有其他答案包含“classpath:”前缀才能工作。
    【解决方案3】:

    如果有人在 groovy 项目中使用它,请添加以供将来参考。

    在 groovy 中,正确的语法使用 [ ] 方括号。花括号会导致编译错误。请在下面找到示例。

    @Configuration  
    @ImportResource( [ "spring-context1.xml", "spring-context2.xml" ] ) 
    

    【讨论】:

      【解决方案4】:

      使用Spring 3定义多个spring资源spring xml上下文文件的正确格式@ImportResource

      @Configuration  
      @ImportResource( { "spring-context1.xml", "spring-context2.xml" } ) 
      

      【讨论】:

        猜你喜欢
        • 2012-05-18
        • 2023-03-14
        • 2016-08-01
        • 2019-10-14
        • 2011-01-02
        • 1970-01-01
        • 1970-01-01
        • 2011-11-29
        • 2010-12-08
        相关资源
        最近更新 更多