我有以下代码与spring 3.2一起使用,并在Spring 4.0.0上失败并出现“NoSuchBeanDefinitionException”.RELEASE
public interface Cacheable {
}
public class TimeUnit implements Cacheable {
}
@Component
public class UserDao<T extends Cacheable> {
public void performDBOperation() {
System.out.println("Executing db operation");
}
}
@Component
public class UserService {
@Autowired
private UserDao<TimeUnit> timeUnitUserDao;
public void someService() {
timeUnitUserDao.performDBOperation();
}
}
当我在UserDao类声明中包含T extends Cacheable时,由于泛型而失败 . 完整的例外是
“NoSuchBeanDefinitionException:找不到类型为[spring.generics.UserDao]的限定bean依赖:期望至少有一个bean符合此依赖关系的autowire候选 . 依赖注释:{@ org.springframework.beans.factory.annotation.Autowired( required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = userdao)}“
如果声明只是UserDao&lt T&gt,那一切都有效 .
关于什么应该修复的任何意见/建议?
1 回答
此问题已在Spring 4.0.1中得到解决