[英]Add aspect to implementation class not interface
我們有一個實現多個接口的 class。 我們想為整個 class 添加一些切入點 - 而不是它的特定接口。
如何使用 Spring AOP 完成? 是否可以將方面應用於非接口 class?
是的,您必須使用 CGLIB 來代理類。 請參閱spring 文檔的第 7.1.3 節
Spring AOP 也可以使用 CGLIB 代理。 這是代理類而不是接口所必需的。 如果業務 object 未實現接口,則默認使用 CGLIB。 由於對接口而不是類進行編程是一種很好的做法,因此業務類通常會實現一個或多個業務接口。
神奇的是通過以下方式定義代理目標類...
<aop:config proxy-target-class="true">
<!-- other beans defined here... -->
</aop:config>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.