我有以下课程。
public class SomeBeanClass implements SomeInterface{
private IAccountHistory acctHistory;
public void setAccountHistory(IAccountHistory acctHistory) {
this.acctHistory = acctHistory;
}
}
public interface IAccountHistory{
//some methods
}
public class AccountHistory implements IAccountHistory{
//some logic
}
Spring配置:
<bean name="someBean" class="com.mypack.SomeBeanClass">
<property name="AccountHistory">
<bean class="com.mypack.AccountHistory"/>
</property>
</bean>
在上面的spring配置中,属性名称为AccountHistory
。但SomeBeanClass
没有任何名为AccountHistory
的属性。注射如何在这里工作?请帮帮我。
答案 0 :(得分:2)
但
SomeBeanClass
没有任何名为AccountHistory
的属性。
确实如此:
public void setAccountHistory(IAccountHistory acctHistory) {
this.acctHistory = acctHistory;
}
属性不是字段。它是一个Java bean属性(带有一些额外的命名容限),用getter或setter表示。
答案 1 :(得分:-4)
请将您的XML更新为
<bean id="accountHistory" class="com.package.AccountHistory" />
<bean id="someBean" class="com.mypack.SomeBeanClass">
<property name="acctHistory" ref="accountHistory"/>
</bean>
我建议使用注释,如果你有充分的理由使用XML那么请继续。
如果有帮助,请告诉我。