`
fancyboy2050
  • 浏览: 238835 次
  • 性别: Icon_minigender_1
  • 来自: 皇城根儿下
社区版块
存档分类
最新评论

泛型类的编译导致的错误

阅读更多
这是前段时间遇到的一个问题,确定是因为泛型编译导致的,但是特别详细的原因还没有深入研究过,遇到的同志可以看下哈。

@Controller
public class UserController {	
    @Autowired
    UserManager userManager;

上面的controller中自动注入了一个UserManager,该manager是一个泛型类。

public interface UserManager extends GenericManager<User, Long> {}

public interface GenericManager<T, PK extends Serializable> {
    T get(PK id);
}
泛型接口中有一个get的接口

上面该manager原始的泛型格式,因为针对用户我们有了一个分库的需求,于是本地开发进行

public interface UserManager extends GenericShardManager<User> {}

如上:本地的UserManager继承的泛型接口被改变了;

就在这时,来了一个着急上线的新的小需求,改变UserController中一个方法中的一点业务逻辑,改完编译,将编译后的UserController发布测试,报错,找不到get方法。

why?在我的UserController中只是引用了一个UserManager的接口,然后通过autowire自动将实例注入,启动时无错误,使用的时候别的method都可以正常使用,但是旧的泛型接口中的方法一律提示nomethod异常。
分享到:
评论

相关推荐

    Java虚拟机

    第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    调优案例分析与实战 / 106 5.1 概述 / 106 5.2 案例分析 / 106 5.2.1 高性能硬件上的程序部署策略 / 106 5.2.2 集群间同步导致的内存溢出 / 109 5.2.3 堆外内存导致的溢出错误 / 110 5.2.4 外部命令导致系统...

    突破程序员基本功的16课.part2

    5.6 泛型可能引起的错误 5.6.1 原始类型变量的赋值 5.6.2 原始类型带来的擦除 5.6.3 创建泛型数组的陷阱 5.7 正则表达式的陷阱 5.8 多线程的陷阱 5.8.1 不要调用run方法 5.8.2 静态的同步方法 5.8.3 静态...

    Go语言圣经,golang学习入门到精通

    Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。Go从C语言继承了相似的表达式语 法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的...虽然有时候这会导致一个“无类

    C#难点逐个击破(8):可空类型System.Nullable

    null与void null值用来表示数据类型未被赋予任何...null值赋给值类型将导致编译错误。 void用于方法值的返回,其本质并不是一个数据类型,它只是用于指出没有数据类型。 System.Nullable C#中null值不能赋值给值类型,

    ultraviolet:适用于游戏和图形的宽线性代数板条箱

    另外,缺少泛型和Rust类型系统的“ hacks”会导致清晰明了的错误,易于用户解析和修复。在运行时性能方面,紫外线从一开始就设计时就考虑到了性能。为此,我们为每种类型提供两种独立的类型,每种具有几乎相同的功能...

    AppFramework_V1.0

    程序里的变量名与Sql模板里的变量经常会出现不一致,而这些错误无法在编译时发现,靠人工检查很容易造成错误泄漏。也没提供工具直接生成SQL模板和映射配置文件。 &lt;br&gt;第九,IBatisNet的SqlMap文件里的SQL语句以...

    AppFramework_V1.0_New

    程序里的变量名与Sql模板里的变量经常会出现不一致,而这些错误无法在编译时发现,靠人工检查很容易造成错误泄漏。也没提供工具直接生成SQL模板和映射配置文件。 &lt;br&gt;第九,IBatisNet的SqlMap文件里的SQL语句以...

    AppFramework数据库访问组件_代码生成插件_V1.1.rar

    程序里的变量名与Sql模板里的变量经常会出现不一致,而这些错误无法在编译时发现,靠人工检查很容易造成错误泄漏。也没提供工具直接生成SQL模板和映射配置文件。 &lt;br&gt;第九,IBatisNet的SqlMap文件里的SQL语句以...

    将PHP从5.3.28升级到5.3.29时Nginx出现502错误

    按照我以前的脾气,我什么软件都得要最新的稳定版,但PHP之类的软件是例外,因为版本高了,会导致很多程序不兼容,相对来说5.3兼容性算是最好的版本之一,当然5.2也可以。 强迫症实在受不了,官方说5.3.29是5.3的...

    [原创]自己工作中常用的模板库,简化你的工作

    它是完全泛型的并且是类型安全的(没有强制类型转换),如果使用错误将导致编译失败,从而提高了正确率(正确性由编译器保证)。 这个库的很多模板类型推导不需要C++11的支持,这是一个大的优势(VS2010才开始支持C++11)...

    基于TCP的服务器客户端程序设计.doc

    Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再 被引用的对象所占据的内存空间,使得程序员不用再...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

Global site tag (gtag.js) - Google Analytics