版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/80551971
切点表达式在我们之前的几篇博客中都有提到,在我们配置通知的时候,会以注解或XML的形式来配置该通知的切点表达式。如:execution(public int com.demo.HelloWorld.hello())
,每个通知如果都配置相同的切点表达式就需要写很多相同的代码,那么我们在写相同的代码时有没有想过重用呢?本篇主要讲解在XML和注解中如何重用切点表达式。
本篇讲解在XML和注解中重用切点表达式:
一、基于XML方式重用切点表达式
二、基于注解方式重用切点表达式
一、基于XML方式重用切点表达式
<bean id="helloWorld" class="com.demo.HelloWorld"></bean>
<bean id="time" class="com.demo.Time"></bean>
<aop:config>
<!-- 重用切点表达式 -->
<aop:pointcut expression="execution(public int com.demo.HelloWorld.hello())" id="point"/>
<aop:aspect ref="time">
<aop:before method="beforeTime" pointcut-ref="point" />
</aop:aspect>
</aop:config>
二、基于注解方式重用切点表达式
@Aspect
@Component
public class Time {
@Pointcut("execution(public int com.demo.HelloWorld.hello())")
public void pointCut() {}
@Before("pointCut()")
public void beforeTime() {
System.out.println("计时开始~~~~~ 我是前置通知,会在目标方法前执行");
}
}