弹簧 IoC 和通用接口类型
2022-09-01 04:36:21
我正在尝试使用带有以下接口的Spring IoC:
public interface ISimpleService<T> {
void someOp(T t);
T otherOp();
}
Spring能否提供基于泛型类型参数T的IoC?我的意思是,像这样:
public class SpringIocTest {
@Autowired
ISimpleService<Long> longSvc;
@Autowired
ISimpleService<String> strSvc;
//...
}
当然,我上面的例子不起作用:
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)
我的问题:是否可以提供类似的功能,同时对接口或实现类进行最少的修改?例如,我知道我可以使用@Qualifiers,但我想让事情尽可能简单。