我已經寫了一個示例代碼來使用setter方法來實踐Spring Bean注入。 但在我的輸出中,我得到了一個內存地址,而不是我需要的值(在列表元素列表中作爲第一個元素)。Spring Injecting Bean Reference打印內存地址而不是值
我認爲這是由於ref bean =「address1」聲明中的一些錯誤。
欣賞,如果你可以請幫我在correcing這個錯誤
這是輸出我得到
列表元素:[email protected],國王隊的交鋒中,劍的風暴,賞心悅目烏鴉,舞蹈與南鋼] 地址:冬
這是bean類代碼
<bean id="javaCollection" class="com.springtutorial.JavaCollection">
<property name="addressList">
<list>
<ref bean="address1"/>
<value>Clash of Kings</value>
<value>Storm of Swords</value>
<value>Feast for Crows</value>
<value>Dance with Dragons</value>
</list>
</property>
</bean>
<bean id="address1" class="com.springtutorial.Address">
<property name="address" value="Winterfell"/>
</bean>
這個地址類代碼
public class Address {
String address;
public String getAddress() {
System.out.println("Address :"+address);
return address;
}
public void setAddress(String address) {
this.address = address;
}
Java集合類`公共類JavaCollection {
List addressList;
public List getAddressList() {
System.out.println("List Elements: " + addressList);
return addressList;
}
public void setAddressList(List addressList) {
this.addressList = addressList;
}
}
`
主類是這樣
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("Beans.xml");
JavaCollection jc = (JavaCollection) ctx.getBean("javaCollection");
Address obj = (Address) ctx.getBean("address1");
jc.getAddressList();
jc.getAddressSet();
jc.getAddressMap();
jc.getAddressProp();
obj.getAddress();
}`
好的。我如何重寫toString()方法以適應你的建議。你能解釋一下怎麼做嗎? – Shan
您只需將該方法添加到您的類public String toString(){...} – dngfng
它的工作。非常感謝 :) – Shan