永发信息网

Java项目中如何扩展第三方jar包中的类

答案:1  悬赏:40  手机版
解决时间 2021-04-07 10:49
  • 提问者网友:杀生予夺
  • 2021-04-07 01:26
Java项目中如何扩展第三方jar包中的类
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-04-07 01:36
下面给你介绍几种方法:
一、继承你想要扩展的类,重写想要扩展的方法
这种做法是比较好的,符合面向对象的思想。另外动作比较小,风险也不会很大。但是这种方法有个前提是,被扩展的类在扩展点能用这个子类去替换。比如说在Bean配置的过程中,可以用在需要这个类的地方用子类注入,而不是注入被扩展的类。就是说原来想要扩展的类都是直接new出来的,那么我们新写的子类根本就没法在需要扩展的地方使用。
二、直接复制一份想要扩展的类,在项目中创建同包同名的类
这种方法是我在网上看到的,这里利用了类加载的优先性,说的是WEB-INF目录下的类加载的优先级要比lib中jar包类的优先级要高。
三、使用ASM等字节码修改工具,直接修改这个类的字节码
这个是终极做法了,直接把这个类的字节码修改成你想要扩展的样子。思路相当直接,缺点就是你要对字节码非常熟悉,并且熟悉ASM这个工具。其次这种做法的风险比较大,如果你提出了这种想法,很有可能被pass掉。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯