首页 文章

将 spring 从3.2升级到4 - 使用泛型问题(扩展)

提问于
浏览
0

我有以下代码与spring 3.2一起使用,并在Spring 4.0.0上失败并出现“NoSuchBeanDefinitionException”.RELEASE

public interface Cacheable {
    }

    public class TimeUnit implements Cacheable {
    }

    @Component
    public class UserDao&ltT extends Cacheable> {


        public void performDBOperation() {
            System.out.println("Executing db operation");
        }
    }

    @Component
    public class UserService {
         @Autowired
         private UserDao&ltTimeUnit> 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 回答

  • 0

    此问题已在Spring 4.0.1中得到解决

相关问题