spring 注入属性的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:49:36
类A,B,C,D
A,B,C都需要在spring配置文件中注入同一个属性D
如何才能,做一个父类,A,B,C继承自这个父类,然后将属性D注入到父类中,这样,配置文件中类A,B,C就不需要注入属性D。
谢谢各位,这种方法的确可行,但是由于parent我已经指定继承了事务代理模板。。。
后来我结合这种方法,改造了程序。基本代码如下:
public class E extends TransactionProxyFactoryBean{
private D d;
getter;
setter;
}
spring中,事务代理模板改成
<bean id="e" abstract="true"
class="E">
...
...
<property name="d">
<ref bean="D"/>
</property>
</bean>
即将D注入到事务代理模板中。然后类A,B,C继承E。
但是这样发现2个问题。
1,用<bean id="a" class="xxxx" parent="e"> 方式,tomcat无法启动。
2,用<property name="target">指定e,tomcat可以启动,但是调用a,则报NullPointerException错误。
请教这种情况如何处理。

ps.已加分,再次谢谢各位。

写一个类E
public class E{
private D d;
getter;
setter;
}
在spring中
<bean id="d" class="D">
...
</bean>
<bean id="e" class="E" abstract="true">
<property name="d" ref="d"/>
</bean>
A,B,C中都
<bean id="a" class="xxxx" parent="e">
...
</bean>

上楼方法应该是可行的,但是一定记住,spring不能注入抽象类