我正在尝试将 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>
但仍然没有成功。我哪里错了?