AOP經典2種配置樣本

來源:互聯網
上載者:User

標籤:style   color   io   os   ar   使用   java   sp   div   

第一種:使用aop指定切面aspect,
<bean id="LogAdvice" class="com.thinkmore.framework.monitor.log.LogAdviceInterceptor"><property name="cache"><ref local="ehCache" /></property></bean><aop:config proxy-target-class="true">    <aop:pointcut id="txPointcut" expression="execution(* com.thinkmore.business.service..*.*(..))" />    <aop:aspect order="0" ref="LogAdvice">    <aop:around method="intercept" pointcut-ref="txPointcut"/>    </aop:aspect></aop:config>
LogAdviceInterceptor中需要實現上面指定的method方法--》intercept,而至於是哪種類型的通知,則看aop後面的配置,此處是aop:around,即環繞通知,環繞通知需要使用proceedingJoinPoint。
public Object intercept(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {     return returnValue = proceedingJoinPoint.proceed();}

第二種:使用切面+指定通知的實作類別,具體是什麼通知,由實作類別實現的介面決定。
<bean id="LogAdvice" class="com.thinkmore.framework.monitor.log.LogAdviceInterceptor"><property name="cache"><ref local="ehCache" /></property></bean><aop:config proxy-target-class="true"><aop:pointcut id="logPointcut" expression="execution(* com.thinkmore.business.service..*.*(..))" /><aop:advisor advice-ref="LogAdvice" pointcut-ref="logPointcut" /></aop:config>
上面的logAdviceInterceptor需要實現implements MethodInterceptor這個介面,這個介面表示環繞通知。

AOP經典2種配置樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.