Spring 使用 setter 方法进行依赖注入?
Spring dependency injection using setter method?
我有以下类.
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
的 属性。注射在这里如何工作?请帮助我。
But SomeBeanClass
does not have any property named AccountHistory
.
确实如此,就在这里:
public void setAccountHistory(IAccountHistory acctHistory) {
this.acctHistory = acctHistory;
}
属性 不是 字段。它是一个 Java bean 属性(有一些额外的命名余量)用 getter 或 setter.
表示
请将您的 XML 更新为
<bean id="accountHistory" class="com.package.AccountHistory" />
<bean id="someBean" class="com.mypack.SomeBeanClass">
<property name="acctHistory" ref="accountHistory"/>
</bean>
我建议使用注释,如果你有充分的理由使用 XML 那么请继续。
如果有帮助请告诉我。
我有以下类.
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
的 属性。注射在这里如何工作?请帮助我。
But
SomeBeanClass
does not have any property namedAccountHistory
.
确实如此,就在这里:
public void setAccountHistory(IAccountHistory acctHistory) {
this.acctHistory = acctHistory;
}
属性 不是 字段。它是一个 Java bean 属性(有一些额外的命名余量)用 getter 或 setter.
表示请将您的 XML 更新为
<bean id="accountHistory" class="com.package.AccountHistory" />
<bean id="someBean" class="com.mypack.SomeBeanClass">
<property name="acctHistory" ref="accountHistory"/>
</bean>
我建议使用注释,如果你有充分的理由使用 XML 那么请继续。
如果有帮助请告诉我。