Java 覆盖jar包内的方法

简介: Java覆盖jar包内的方法,加入自己业务相关逻辑方法

背景

有时候在java开发过程中会遇到这样的场景,比如说我们需要用jar包里的方法,但是jar包里的方法又不能满足当前的业务逻辑需要,而想直接下载jar包源码修改的话又会很麻烦,这个时候比较简便快捷能满足需要的办法就是覆写jar包中对应的方法,只需要改动你用的类的某一个方法就行,而不用去下载jar包源码再打包那么繁杂。

有一点需要注意的是需要保持方法中的参数不变,同时不能删除原有类的方法,但是可以新增一些方法来实现自己业务逻辑。

java实现

实现代码其实比较简单,就是创建一个和jar包中需要重写类的路径,类名完全一样的类,然后copy jar包中原类的全部方法到jar包外的类中,根据需要改写原方法的业务逻辑或者新增方法来实现自己需要的业务逻辑,由于jar包外代码的优先级高于maven依赖jar包的优先级,这个时候你重写的类就会生效了。

比如LoginController.class  

image.png

重写后LoginController.java

image.png

这里你可以在jar包外方法中新增自己的方法实现新的业务逻辑。


相关文章
|
1天前
|
Java
java方法引用::
java方法引用::
11 3
|
1天前
|
Java
Java多线程中notifyAll()方法用法总结
Java多线程中notifyAll()方法用法总结
|
1天前
|
Java 测试技术
Java反射之Method的invoke方法详解
Java反射之Method的invoke方法详解
|
1天前
|
算法 安全 Java
Java代码优化方法和具体展示
Java代码优化方法和具体展示
|
1天前
|
Java 新能源
Java面向对象的过程及代码实现方法
Java面向对象的过程及代码实现方法
|
1天前
|
算法 安全 Java
Java 代码优化方法和展示例子
Java 代码优化方法和展示例子
|
1天前
|
Java
java自动生成代码的方法详解
java自动生成代码的方法详解
|
1天前
|
Java
java使用FileChannel的transferTo方法拷贝大于2G文件
java使用FileChannel的transferTo方法拷贝大于2G文件
4 0
|
1天前
|
Java
JAVA构建List集合为树形结构的方法和代码
JAVA构建List集合为树形结构的方法和代码
|
1天前
|
Java 测试技术
解决Java中的AssertionError异常的常用方法
解决Java中的AssertionError异常的常用方法

热门文章

最新文章