在抽象超类中注入spring依赖项

我需要使用spring框架在抽象超类中注入依赖项。

class A extends AbstractClassB{ 

private Xdao daox ;

...

public setXdao() { ... }

}

class AbstractClassB{

..

private yDao daoy;

public seyYdao() { ... }

}

我每次实例化Abstract class B时都需要传递超类依赖关系(可以在我的项目中以100多种方式将其子类化)

application.xml(Spring上下文文件)中的条目

<bean id="aClass" class="com.mypro.A" 

<property name="daox" ref="SomeXDaoClassRef" />

<property name="daoy" ref="SomeYDaoClassRef"/>

</bean>

我如何才能在application.xml中创建超类AbstractClassB的bean引用,以便可以在所有子类bean创建中使用它?

回答:

你可以创建一个抽象bean定义,然后“定义”该定义的子类型,例如

<bean id="b" abstract="true" class="com.mypro.AbstractClassB">

<property name="daox" ref="SomeXDaoClassRef" />

</bean>

<bean id="a" parent="b" class="com.mypro.A">

<property name="daoy" ref="SomeYDaoClassRef" />

</bean>

严格来说,的定义b甚至不需要你指定类,可以将其省略:

<bean id="b" abstract="true">

<property name="daox" ref="SomeXDaoClassRef" />

</bean>

<bean id="a" parent="b" class="com.mypro.A">

<property name="daoy" ref="SomeYDaoClassRef" />

</bean>

但是,为了清楚起见,并为你的工具提供更好的帮助你的机会,通常最好将其保留下来。

以上是 在抽象超类中注入spring依赖项 的全部内容, 来源链接: utcz.com/qa/399106.html

回到顶部