2016-03-26 14 views
0

Spring 4.2.4.RELEASE ile bir proje üzerinde çalışıyorum.Genel türlerin otomatik bağlanması çalışmıyor [Bahar 4+]

Ben yeni özellikler Bahar 4 (özellikle yaklaşık autowiring of generic types) duyduk ve aşağıdaki kod derlenmiş olmasaydı ben karışıktı:

@Service 
public interface AuthenticationService<T> { ... } 

public class VKAuthenticationService implements AuthenticationService<VKToken> { ... } 

@RestController 
public class VKAuthenticationController { 
    @Autowired 
    private AuthenticationService<VKToken> service; 
} 

herhangi bir yardım için şimdiden teşekkür ederiz.

+2

Değil emin enjekte etmek .. ama sınıf VKAuthenticationService üzerinde @Service eklemeyi deneyin vermedi hakkında? –

+0

@AnkitBansal, Daha önce denemedim, ama şimdi iyi çalışıyor – Andrew

cevap

3

Nasıl da VKAuthenticationService

@Service(name="myService") 
public class VKAuthenticationService implements AuthenticationService<VKToken> { ... } 

üzerinde @Service beyan ve @Autowired kullanabilir ve @Qualifier o

@RestController 
public class VKAuthenticationController { 
    @Autowired 
    @Qualifier("myService") 
    private AuthenticationService<VKToken> service; 
} 
+0

'Hizmet' ebeveyninden çocuğa geçmiyor mu? – Andrew

+0

ne demek istiyorsun? –

+0

@Service arabiriminde bildirimde bulunulduğunda, bir arabirimin örneğe dönüştürülemediğinden kullanılamaz. –