2012-03-21 152 views
0

我有一個包含所有域對象和服務類的dao jar文件。它有一個配置文件dao-resource.xmlid=datasource覆蓋jar文件中的spring bean

我使用它有自己的app-context.xml另一個項目這個jar文件,但我想在jar文件

我怎麼做這個覆蓋與id="datasource"豆。我試圖在app-context.xml中添加一個具有相同ID的bean,並將這兩個文件添加到classpathxmlapplicat ....第一個dao-resource.xml然後app-context.xml

但這似乎並不奏效。

我怎麼回事,可以覆蓋一個bean

回答

1

具有罐Spring配置文件,使事情變得有點難以管理。如果你註釋了你的類,它會更容易。

但無論如何,我建議將dao xml分爲兩部分 - 你的bean和基礎設施相關的bean(如數據源)。然後你可以在app-context.xml中只包含你需要的。

另一種方法是在覆蓋的bean上使用primary="true"。這意味着所有需要類型爲DataSource的bean的注入點都會選擇您的主要bean。但是,如果你在你的dao xml中引用你的數據源,那將不起作用。

簡而言之 - 你不能重載一個bean,所以拆分你的xml文件並只包含你需要的部分。

+0

非常感謝你的澄清....你們搖滾 – user373201 2012-03-21 23:09:21