aop的第二種配置方法:aop:aspect
第二種配置方法:aop:aspect
馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203
例 2.1.2
上一種方法需要實現(xiàn)接口,這種不用。這就是二者的區(qū)別。
加入以下兩段:
<bean id="myTransactionManagerAspect" class="aop.AOPMyTransactionManagerAspeMark_To_Win" />
<aop:aspect ref="myTransactionManagerAspect">
<aop:before method="startTransaction" pointcut-ref="myPointcut" />
<aop:after-returning method="commitTransaction" pointcut-ref="myPointcut"/>
</aop:aspect>
兩種方法和一塊,成為以下的樣子:
<bean id="myTransactionManagerAspect" class="aop.AOPMyTransactionManagerAspeMark_To_Win" />
<!-- 配置切面 這種寫法也正確"execution(* service.*.*(..))"-->
<aop:config>
<aop:pointcut id="myPointcut" expression="execution(* service.LoginServiceImpl.*(..))" />
<aop:aspect ref="myTransactionManagerAspect">
<aop:before method="startTransaction" pointcut-ref="myPointcut" />
<aop:after-returning method="commitTransaction" pointcut-ref="myPointcut"/>
</aop:aspect>
</aop:config>
package aop;
public class AOPMyTransactionManagerAspeMark_To_Win {
public void startTransaction() {
System.out.println("模擬start transaction aspect");
}
public void commitTransaction() {
System.out.println("模擬commit transaction aspect");
}
}
輸出結(jié)果:
模擬start transaction aspect
LoginServiceImpll
模擬commit transaction aspect
after loginServic.login()