spring中注入抽象类中的接口属性

问题描述:java在抽象类中是不能注入属性的,但是有时候在抽象类中需要调另一个实例bean,如果都在子类中注入,那么当有很多子类时改造会比较大,有什么好的办法就是不需要改动子类来实现?

抽象类是可以用spring注入属性的。示例:
<bean id="BaseEventAction" class="com.sinosig.evaluation.fcff.web.event.BasicEventAction"
abstract="true" parent="BaseAction">
<property name="rowFactory" ref="FcffCacheAdapter" />
<property name="caculate" ref="CaculateService" />
<property name="diffusion" ref="DeffusionService" />
</bean>

<bean id="MethodChangedAction"
class="com.sinosig.evaluation.fcff.web.event.MethodChagedAction"
scope="prototype" parent="BaseEventAction" />

public abstract class BasicEventAction extends BaseAction implements
EventAction {

……

}

public class MethodChagedAction extends BasicEventAction {
……

}

spring框架中的 abstract="true" 是告诉spring框架不要去实例化这个类而已。但是在spring的配置中,仍然会有相关的注入属性的配置。子类的配置会继承父类的配置,然后spring框架再根据子类的最终配置去实例化和注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值