我有幾個文件構成的大XML配置。Java/Spring:用XML標記「bean」以通過類和標記獲取特定的bean
我需要讓bean實現特定的接口。但有幾個實現,所以我必須選擇。我想有特殊的「標籤」來標記bean來得到它容易:
<bean class="myInterfaceImpl1" tag="beanForMe" />
<bean class="myInterfaceImpl2" />
<bean class="myInterfaceImpl3" />
T get(Class<T> clazz) {
return factory.getBean(clazz, "beanForMe"); //Returns first one
}
是否有類似的東西在春天?
我找到了2個解決方法。首先是使用特殊的標籤ID:
第一
<bean class="myInterfaceImpl1" id="MyInterface-beanForMe" />
但是,當我在我的IDE一切重命名類,除非我寫的IDE插件來支持我的想法會失敗。
第二個是將所有「標記」bean添加到特定列表中,通過id獲取它,然後遍歷它以找到合適的bean。
但標籤將是最好的在這裏。你怎麼看?
標籤有什麼意義?它如何比指定一個ID或名稱更好? –
Java代碼接受類名作爲參數,並應找到合適的bean。在這種情況下,id必須是類名的派生。看到我的「第一個」想法,爲什麼我不喜歡它 – user996142
這似乎是一種倒退,似乎你已經提供了一個不必要的抽象層到一個框架,但你的用例不清楚 - 我很可能錯過了一些東西。 –