ile Genel alt türün Bağımlılık enjeksiyonu Belirli Genel fasulye, genel alt türüne enjekte etmeye çalışıyorum, ancak Bahar bağımlılığı gideremiyor. Fasulyeden gelen türü kaldırarak, her şey beklendiği gibi çalışır. İşteBahar
public class AbstractFrom{
// ...
}
public class EmployyForm extends AbstractFrom{
// ...
}
public class CompanyForm extends AbstractFrom{
// ...
}
abstract class AbstractBean<T extends AbstractFrom>{
public abstract void calculate(T form);
}
@Component
public CompanyBean extends AbstractBean<CompanyForm>{
public void calculate(CompanyForm form){
// specific impl
}
}
@Component
public EmployeeBean extends AbstractBean<EmployyForm>{
public void calculate(EmployyForm form){
// specific impl
}
}
bir hedef sınıfı edilir: İşte bir örnek aktif profilin
@Service
public BaseService{
@Autowire
public AbstractBean<AbstractFrom> baseBean; // <- NoSuchBeanDefinitionException
// @Autowire
// public AbstractBean baseBean; <- Injection works as is expected
}
Bağlıdır sadece CompanyBean
veya EmployeeBean
, asla ikisi başlatılır. Ben de fasulye ve bize @Qualifier
ek açıklama verilen aynı isim denedim.
Bu sözdiziminin elmas sözdizimini kullanarak nasıl enjekte edildiği var mı? Bahar verilen bağımlılığı çözebilir mi? İlkbahar 4.2.x kullanma
Düzenleme: Bahar 4.3 ile mümkün olmalıdır edilmektedir. Ben muhtemelen bu hoşuna gitmeyecek biliyorum Juergen Hoeller's talk
"Ortak AbstractBean baseBean; '? –
SimY4