文章詳情頁
Javassist。主要思想是什么,實際用途是什么?
瀏覽:114日期:2024-04-29 16:12:26
如何解決Javassist。主要思想是什么,實際用途是什么??
一個常見的應用是在運行時生成代理類,即在運行時創(chuàng)建一個子類,以攔截所有方法調(diào)用。例子:
使用代理來攔截對實體的方法調(diào)用以實現(xiàn)延遲加載,即,在首次訪問對象時從數(shù)據(jù)庫中獲取對象。
在 使用代理服務器來實現(xiàn)其AOP的支持,其中除其他事項外大國的聲明性事務的支持。它還使用代理來強制適當?shù)淖饔糜颉?/p>
使用代理來實現(xiàn)容器管理的事務,授權(quán)檢查以及應用用戶定義的攔截器。
實現(xiàn)還必須代理受管Bean,以確保適當?shù)淖饔糜颉N覒岩伤麄円彩褂米止?jié)碼工程庫。
最近使用Javassist截取所有方法調(diào)用,并僅在第一次調(diào)用時委托給超級實現(xiàn),從而為方法返回值實現(xiàn)透明的緩存。
請注意,它java.lang.reflect.Proxy可以在運行時生成代理類,但只能實現(xiàn)接口,而不能擴展類。以上所有用例都需要類的代理。
解決方法我知道Javassist是一個Java庫,提供了一種操作應用程序的Java字節(jié)碼的方法。
好的,但是為什么我們需要操縱字節(jié)碼?
有什么真實的例子嗎?任何真正的應用程序,javassist在哪里使用?
標簽:
java
排行榜

熱門標簽