class Processor<T> {}
Processor<String> processor = new Processor<>(); //Java 7 及以上版本
@Named
class Processor<T> {
}
Processor processor = new Processor(); //更准确来讲是 Processor<Object> processor = new Processor<>();
@Named
class Processor<T extends Number> {
}
Processor<Number> processor = new Processor<>();
public interface Service<T> {
String process(T t);
}
@Named
public class NumberService<R extends Number> implements Service<R> {
@Override
public String process(R number) {
return "Process Number: " + number;
}
}
NumberService<Number> numberService = new NumberService<>();
@Named
public class Processor<T> {
@Inject
Private Service<T> service;
}
Processor<Object> processor = new Processor<>();
@Named
public class StringService implements Service<String> {
@Override
public String process(String string) {
return "Process String: " + string;
}
}
Processor<String> processor = new Processor<>(); processor.service = new StringService();
Processor<Number> processor = new Processor<>(); processor.service = new NumberService<Number>();
2016-12-09 00:56:50.922 WARN 4950 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'processor': Unsatisfied dependency expressed through field 'service'; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'cc.unmi.Service<?>' available: expected single matching bean but found 2: numberService,stringService 2016-12-09 00:56:50.941 ERROR 4950 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field service in cc.unmi.Processor required a single bean, but 2 were found: - numberService: defined in file [/Users/Yanbin/Workspaces/github/spring-generic-demo/target/classes/cc/unmi/NumberService.class] - stringService: defined in file [/Users/Yanbin/Workspaces/github/spring-generic-demo/target/classes/cc/unmi/StringService.class] Action: Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
@Named class Processor<T> {
@Inject Service<T> service;
}
@Named class Processor<T extends Number> {
@Inject Service<T> service;
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有