Spring
Aop xml配置方式
概念:沿用上一篇:Spring-Aop注解、
示例:
切面类:
package cn.itcast.f_aop_xml; import org.aspectj.lang.ProceedingJoinPoint; // 切面类 public class TransactionAop { public void beginTransaction() { System.out.println("[前置通知] 开启事务.."); } public void commit() { System.out.println("[后置通知] 提交事务.."); } public void afterReturing(){ System.out.println("[返回后通知]"); } public void afterThrowing(){ System.out.println("[异常通知]"); } public void arroud(ProceedingJoinPoint pjp) throws Throwable{ System.out.println("[环绕前:]"); pjp.proceed(); // 执行目标方法 System.out.println("[环绕后:]"); } } |
<!-- 实例化切面类 --> <bean id="aop" class="cn.itcast.f_aop_xml.TransactionAop"></bean> <!-- Aop相关配置 --> <aop:config><!-- 切入点表达式定义 --> <aop:pointcut expression="execution(* cn.itcast.f_aop_xml.UserDao.*(..))" id="pt"/> <!-- 切面配置 --> <aop:aspect ref="aop"> <!-- 【环绕通知】 --> <aop:around method="arroud" pointcut-ref="pt"/> <!-- 【前置通知】 在目标方法之前执行 --> <aop:before method="beginTransaction" pointcut-ref="pt" /> <!-- 【后置通知】 --> <aop:after method="commit" pointcut-ref="pt"/> <!-- 【返回后通知】 --> <aop:after-returning method="afterReturing" pointcut-ref="pt"/> <!-- 异常通知 --> <aop:after-throwing method="afterThrowing" pointcut-ref="pt"/> </aop:aspect> </aop:config> |