spring aop的使用
AOP使用
AOP配置方式
方式1 原生Spring API接口
<!-- 注册bean -->
<bean id ="userService" class="com.lwp.study.blog.service.impl.UserServiceImpl" />
<bean id ="logAfterAdvice" class="com.lwp.study.proxy.log.LogAfterAdvice" />
<bean id ="logBeforeAdvice" class="com.lwp.study.proxy.log.LogBeforeAdvice" />
<aop:config>
<!-- 配置切入点规则 UserServiceImpl类的所有方法将被切入-->
<aop:pointcut id="servicePointcut" expression="execution(public * com.lwp.study.blog.service.impl.UserServiceImpl.*(..))" />
<!--执行切入-->
<aop:advisor advice-ref="logAfterAdvice" pointcut-ref="servicePointcut" />
<aop:advisor advice-ref="logBeforeAdvice" pointcut-ref="servicePointcut" />
</aop:config>
方式2 自定义类实现
配置部分
<!-- 注册自定义的类 -->
<bean id ="customAdvice" class="com.lwp.study.proxy.log.CustomAdvice" />
<aop:config>
<!--自定义切面,red引用自定义的切面类-->
<aop:aspect red="customAdvice">
<!-- 配置切入点规则 UserServiceImpl类的所有方法将被切入-->
<aop:pointcut id="pointcut" expression="execution(public * com.lwp.study.blog.service.impl.UserServiceImpl.*(..))" >
</aop:pointcut>
<!--执行切入的方法-->
<aop:before method="before" pointcut-ref="pointcut" /> <!--方法执行前切入-->
<aop:after method="after" pointcut-ref="pointcut" /> <!--方法执行后切入-->
</aop:aspect>
</aop:config>
类部分
package com.lwp.study.proxy.log;
public class CustomAdvice {
public void before(){
System.out.println("方法执行之前");
}
public void after(){
System.out.println("方法执行之后");
}
}

浙公网安备 33010602011771号