2012-03-08 80 views
1

我們的項目有兩個應用場景:重用bean定義在Spring

  • 應用程序的context.xml
  • 應用程序上下文的test.xml

目前每個文件都有重複的bean定義。因此,例如以下豆將在每個應用程序上下文:

<bean id="foo "class="com.foo"> 
    <property name="bar"> 
      <ref local="bar"/> 
    </property> 
</bean> 

該計劃是創建bean定義另一個文件,所以我們可以重用豆,但是,如果我們把上面的XML片段到自己的文件,將不會提及bar

有沒有簡單的方法來解決這個問題?

請注意bar將在每個應用程序上下文中有所不同。

謝謝!

回答

3

<ref local="bar"/>具有特定含義 - 這意味着bar必須在同一個文件中定義。在你的情況,那也太嚴格,所以放鬆了一點:

<bean id="foo "class="com.foo"> 
    <property name="bar" ref="bar"/> 
</bean> 

然後用<import resource="...">導入此文件,在需要的地方。

由此,bar必須仍然存在,但它可以位於上下文的任何文件中,或者位於任何父上下文中。

+0

啊!忽視「本地」。謝謝! – Shawn 2012-03-08 20:38:22