日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java byte 拓展_Java项目中如何扩展第三方jar包中的类?

發(fā)布時間:2023/12/15 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java byte 拓展_Java项目中如何扩展第三方jar包中的类? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有些時候你對第三方得到j(luò)ar包中的類并不是很滿意,想根據(jù)實際情況做一些擴展。如果說第三方的jar包已經(jīng)提供了一些可擴展的類,比如提供了Interceptor,Filter或者其他的類,那么使用原生的比較保險一些。但是如果說并沒有提供這些,那就要走一些不尋常的路。這里我總結(jié)了一些可行的方法,有的優(yōu)雅,有的則是不得已而為之的。

一、繼承你想要擴展的類,重寫想要擴展的方法

這種做法是比較好的,符合面向?qū)ο蟮乃枷搿A硗鈩幼鞅容^小,風(fēng)險也不會很大。但是這種方法有個前提是,被擴展的類在擴展點能用這個子類去替換。比如說在Bean配置的過程中,可以用在需要這個類的地方用子類注入,而不是注入被擴展的類。就是說原來想要擴展的類都是直接new出來的,那么我們新寫的子類根本就沒法在需要擴展的地方使用。

二、直接復(fù)制一份想要擴展的類,在項目中創(chuàng)建同包同名的類

這種方法是我在網(wǎng)上看到的,這里利用了類加載的優(yōu)先性,說的是WEB-INF目錄下的類加載的優(yōu)先級要比lib中jar包類的優(yōu)先級要高。

三、使用ASM等字節(jié)碼修改工具,直接修改這個類的字節(jié)碼

這個是終極做法了,直接把這個類的字節(jié)碼修改成你想要擴展的樣子。思路相當(dāng)直接,缺點就是你要對字節(jié)碼非常熟悉,并且熟悉ASM這個工具。其次這種做法的風(fēng)險比較大,如果你提出了這種想法,很有可能被pass掉。

其實這幾種就是AOP要做的,AOP我接觸的比較少,配置起來稍顯麻煩;另外有時候不一定會給你配置。

總結(jié):

總結(jié)

以上是生活随笔為你收集整理的java byte 拓展_Java项目中如何扩展第三方jar包中的类?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。