【问题标题】:Does resource import order matters in Spring XML?Spring XML 中的资源导入顺序是否重要?
【发布时间】:2015-11-04 07:45:47
【问题描述】:

假设我在应用程序的主配置文件中导入四个资源文件,如下所示,

<import resource="db-config.xml"/>
<import resource="cache-config.xml"/>
<import resource="sec-config.xml"/>
<import resource="rajnikanth.xml"/>
<!-- My app beans here -->

我的理解是 Spring 创建了一个 DAG 并自下而上实例化。图中断开的节点呢?进口顺序有影响吗?请解释一下。

【问题讨论】:

    标签: java spring


    【解决方案1】:

    是的,订单很重要。如果您在一个导入的文件中声明一个 bean,然后在随后导入的文件中声明一个同名的 bean,则第一个 bean 声明将被覆盖。

    更新:为了更直接地解决您的问题,可以让早期导入中的 bean 引用以后导入中的 bean。这种方式顺序无关紧要。

    【讨论】:

    • 你确定吗?在较旧的 Spring 版本(3.x)中,在两个导入的配置中定义相同的 bean 是一个错误 AFAIK。允许的是在您的配置中重新定义一个 bean,覆盖来自导入的 bean。
    • 我指望它以这种方式工作,并且我使用 Spring 3.x。请参阅stackoverflow.com/a/5317688/2540382 进行确认。
    猜你喜欢
    • 1970-01-01
    • 2013-08-11
    • 2012-02-27
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多