2009-10-13 65 views
2

您好我是AspectJ的新手,我想了解如果使用Aspects創建類的變體 - 我還將創建該類的另一個實例嗎?AspectJ問題

+0

這個問題很不清楚,你能否重申一下,更詳細地解釋你正在做什麼? – 2009-10-27 13:26:55

回答

1

我猜測問題是,如果我添加方面會創建一個新的類。

答案是否定的,因爲編譯時(無論是在編譯時還是在運行時使用AspectJ)都會將更改添加到受方面影響的類中,因此不會創建新類,它只是原始類和最終類的字節碼是不同的。

0

你是什麼意思的變種? 如果您詢問AspectJ是否實例化了您班級的副本,則答案爲。 AspectJ使用名爲proxy的設計模式來攔截對您班級的呼叫。

+0

Spring AOP使用代理。 AspectJ會修改字節碼,或者通過編輯修改,或者作爲編譯的一部分。 – 2009-10-27 13:26:11