Estoy tratando de utilizar la primavera COI con una interfaz de la siguiente manera:primavera COI y la interfaz genérica
public interface ISimpleService<T> {
void someOp(T t);
T otherOp();
}
puede surgir proporcionar COI basado en el argumento de tipo genérico T? Es decir, algo como esto:
public class SpringIocTest {
@Autowired
ISimpleService<Long> longSvc;
@Autowired
ISimpleService<String> strSvc;
//...
}
Por supuesto, mi ejemplo anterior no funciona:
expected single matching bean but found 2: [serviceLong, serviceString]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:243)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:957)
Mi pregunta: ¿es posible proporcionar una funcionalidad similar con modificaciones mínimas a cualquiera de la interfaz o las clases de implementación? Sé, por ejemplo, que puedo usar @Qualifiers, pero quiero que todo sea lo más simple posible.
parece ser posible ahora desde la primavera de 4,0. Vea esto [SO answer] (http://stackoverflow.com/a/22603321/196533) y el artículo de Spring titulado [Spring Framework 4.0 y Java Generics] (http://spring.io/blog/2013/12/03/spring-framework-4-0-and-java-generics). – chrisjleu