1、PointCut、JoinPoint
1)定义
JoinPoint(连接点)代表一个被拦截的方法
PointCut(切入点)代表了一组被拦截的方法,代表了Target
2)作用
PointCut 一次可以定义多个类的多个方法作为拦截目标(JoinPoint),实现了对Target在方法层面的过滤,而不是对整个类进行拦截。
2、Advisor
1)定义作用
Advisor是拦截器,把advice拦截器和target目标联系起来。
一个advisor对象可以联系一个advice拦截器和多个PointCut。
2)Advisor分类
NameMatchMethodPointcutAdvisor 按方法名称(全名)方式进行过滤
<bean id="nameAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice" ref="myBeforeAdvice"></property>
<property name="mappedNames">
<list>
<value>function1</value>
......
</list>
</property>
</bean>
RegexpMethodPointcutAdvisor 按“包名.类名.方法名”的正则表达式方式进行过滤
<bean id="regexpAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice" ref="myAfterReturningAdvice"></property>
<property name="patterns">
<list>
<value>* *.*(..)</value>
......
</list>
</property>
</bean>