2014-03-18 111 views
-2

是否有可能創建bean與相同的id與春天不同的屬性具有不同的屬性?像:春豆創作

<bean id ="a" class= "com.tofek.A" 
    <property message = "khan"/> 
</bean> 

<bean id = "a" class = "com.tofek.A" 
    <property message="tofek"/> 
</bean> 

按我的理解,它會創建,但在獲取使用的getBean()方法,它會給例外像NoBeanDefinitionFoundException豆。

如果我錯了,請糾正我的理解?

+2

你試過了嗎?您需要提出更具體的問題,並顯示您已經研究過該主題的一些證據。 –

回答

0

確保您的spring上下文已成功加載。

回答你的問題。您可以在兩個不同的sprintContext配置中擁有兩個相同的bean定義。

來自第二個上下文的bean會覆蓋第一個創建的bean。 例如:

context1.xml

<bean id="bean1" class="org.springframework.beans.TestBean"/> 

context2.xml

<bean id="bean1" class="org.springframework.beans.TestBean"/> 

然後,從context2.xml bean將覆蓋由contex1.xml創建豆。 它當然取決於創建彈簧上下文的順序。這些過濾器覆蓋了之前製作的過濾器。

您可以使用getBean()通過類型或名稱來獲取bean。在這種情況下,兩個bean都有相同的id和類型,spring不知道你想要獲取哪一個。