通過配置織入@Aspectj切面
雖然可以通過編程的方式織入切面,但是一般情況下,我們還是使用spring的配置自動完成創建代理織入切面的工作。
通過aop命名空間的<aop:aspectj-autoproxy
/>聲明自動為spring容器中那些配置@aspectJ切面的bean創建代理,織入切面。當然,spring
在內部依舊采用AnnotationAwareAspectJAutoProxyCreator進行自動代理的創建工作,但具體實現的細節已經被<aop:aspectj-autoproxy
/>隱藏起來了
<aop:aspectj-autoproxy
/>有一個proxy-target-class屬性,默認為false,表示使用jdk動態代理織入增強,當配為<aop:aspectj-autoproxy
poxy-target-class="true"/>時,表示使用CGLib動態代理技術織入增強。不過即使proxy-target-class設置為false,如果目標類沒有聲明接口,則spring將自動使用CGLib動態代理。
轉自: https://blog.csdn.net/u010246789/article/details/51871214