我試圖向抽象類注入(autowire)spring bean,但它似乎不起作用。將spring bean注入到抽象類
public abstract class BaseEntity {
@Autowired(required = true)
protected SecurityProvider securityService;
public BaseEntity() {
}
}
,並將注入類:
@Component
public class SecurityService extends SecurityProviderImpl implements SecurityProvider {
@Autowired
public SecurityService(ICipherDescriptor cipherDescriptor) {
super(cipherDescriptor);
}
}
的SecurityService被初始化就好了(我可以看到它在調試時),但因爲它是空,從BaseEntity繼承類不能使用注射SecurityService(由於某種原因沒有被注入)。
我想通過XML做的,以及,定義爲BaseEntity摘要:
<bean id="baseEntity" abstract="true" class="com.bs.dal.domain.BaseEntity">
<property name="securityService" ref="securityService"/>
</bean>
<bean id="securityService" class="com.bs.dal.secure.SecurityService">
<constructor-arg ref="cipherDescriptor" />
</bean>
,但仍然沒有成功。 我哪裏錯了?
你還可以添加派生類中的第一對幾行嗎? – Vikdor
如何獲得BaseEntity的實例? –