<?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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!--
1.打开自动代理,proxy-target-class默认"false"使用JDK代理,更改为"ture"使用CGLib动态代理。
-->
<aop:aspectj-autoproxy />
<!-- 2.使用配置文件实现aop -->
<!-- 切面类 -->
<bean id="transactionAspect" class="com.aop.TransactionAspect"></bean>
<aop:config>
<!-- -指定切面类 -->
<aop:aspect ref="transactionAspect">
<!-- 指定切入点和匹配表达式 -->
<aop:pointcut id="transcut"
expression="execution(* com.*.service.impl.*.*(..))" />
<!-- 前置通知 -->
<aop:before method="doBefore" pointcut-ref="transcut" />
<!--后置通知 -->
<aop:after-returning method="doAfterRunning"
pointcut-ref="transcut" />
<!--最终通知 -->
<aop:after method="doAfter" pointcut-ref="transcut" />
<!-- 异常通知 -->
<aop:after-throwing method="doException"
pointcut-ref="transcut" />
<!-- 环绕通知 -->
<aop:after method="doAround" pointcut-ref="transcut" />
</aop:aspect>
</aop:config>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!--
1.打开自动代理,proxy-target-class默认"false"使用JDK代理,更改为"ture"使用CGLib动态代理。
-->
<aop:aspectj-autoproxy />
<!-- 2.使用配置文件实现aop -->
<!-- 切面类 -->
<bean id="transactionAspect" class="com.aop.TransactionAspect"></bean>
<aop:config>
<!-- -指定切面类 -->
<aop:aspect ref="transactionAspect">
<!-- 指定切入点和匹配表达式 -->
<aop:pointcut id="transcut"
expression="execution(* com.*.service.impl.*.*(..))" />
<!-- 前置通知 -->
<aop:before method="doBefore" pointcut-ref="transcut" />
<!--后置通知 -->
<aop:after-returning method="doAfterRunning"
pointcut-ref="transcut" />
<!--最终通知 -->
<aop:after method="doAfter" pointcut-ref="transcut" />
<!-- 异常通知 -->
<aop:after-throwing method="doException"
pointcut-ref="transcut" />
<!-- 环绕通知 -->
<aop:after method="doAround" pointcut-ref="transcut" />
</aop:aspect>
</aop:config>
</beans>