<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">
<bean id="producte" class="com.swt.dao.impl.ProductImpl"></bean>
<bean id="myAdvice" class="com.swt.aspect.MyAdvice"></bean>
<!-- 通过aop配置完成目标泪产生代理 -->
<aop:config>
<!-- 配置切入点 -->
<aop:pointcut id="pointcut1" expression="execution(* com.swt.dao.impl.ProductImpl.add(..))"></aop:pointcut>
<aop:pointcut id="pointcut2" expression="execution(* com.swt.dao.impl.ProductImpl.find(..))"></aop:pointcut>
<aop:pointcut id="pointcut3" expression="execution(* com.swt.dao.impl.ProductImpl.delete(..))"></aop:pointcut>
<aop:pointcut id="pointcut4" expression="execution(* com.swt.dao.impl.ProductImpl.update(..))"></aop:pointcut>
<!-- 配置切面 =多个通知和多个切入点的组合-->
<aop:aspect ref="myAdvice">
<!-- 前置通知 -->
<aop:before method="checked" pointcut-ref="pointcut1"></aop:before>
<!--后置通知 -->
<aop:after-returning method="after" pointcut-ref="pointcut2" returning="result"/>
<!-- 环绕通知 :可以阻止目标方法的运行-->
<aop:around method="around" pointcut-ref="pointcut3" />
<!-- 异常抛出 -->
<aop:after-throwing method="afterThrowing" pointcut-ref="pointcut2" throwing="e"/>
<!-- 最终通知 -->
<aop:after method="aftering" pointcut-ref="pointcut4"/>
</aop:aspect>
</aop:config>
</beans>
spring aop xml配置开发开发
猜你喜欢
转载自blog.csdn.net/qq_41679695/article/details/84104506
今日推荐
周排行