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 が null であるため使用できません (何らかの理由で注入されません)。
BaseEntity を抽象として定義して、XML でも実行してみました。
<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>
しかし、まだ成功していません。どこが間違っていますか?