1
有沒有辦法用AspectJ抓住Object.equals(Object)? 我tryed:抓住布爾Object.equals(對象)與aspectj
@Pointcut("execution (* *(..))")
或
@Pointcut("call (* *(..))")
但沒有任何反應。
有沒有辦法用AspectJ抓住Object.equals(Object)? 我tryed:抓住布爾Object.equals(對象)與aspectj
@Pointcut("execution (* *(..))")
或
@Pointcut("call (* *(..))")
但沒有任何反應。
第一個只有在您可以將建議編織到您的JRE/JDK類中時纔有效。雖然JDK編織是可能的(之前我已經完成),但它不是微不足道的,並且超出了本答案的範圍。我假設你是AspectJ初學者,所以如果我是你,我不會那樣。
如果您對Object.equals
的調用是由您所控制的代碼明確制定的,即通過編織您的方面的代碼進行,則第二種方法可行。如果通過JDK類進行調用,則返回到選項1,JDK編織。如果通過您自己的代碼進行通話,您沒有問題。如果它們是由第三方庫創建的,則仍然可以使用二進制編織,創建新版本的第三方類文件併爲它們創建替換JAR。作爲替代方案,您可以使用LTW(加載時織入),並在加載類時進行編織。