aop的第二种配置方法:aop:aspect

it2025-01-18  3

2)第二种配置方法:aop:aspect  例 2.1.2 上一种方法需要实现接口,这种不用。这就是二者的区别。 加入以下两段:     <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");     } } 输出结果: 模拟start transaction aspect LoginServiceImpll 模拟commit transaction aspect after loginServic.login()

更多请见下节:http://www.mark-to-win.com/tutorial/frame_Spring_usageaopaspect.html

最新回复(0)