四:切入点Pointcut 和 Advisor
1.Pointcut :一组规定,规定一个切面可以织入到哪个类的哪些方法。 2.Advisor:是一种特殊的Advice,规定了哪个切面,要织入到哪个类的哪些方法(配置
getClassFilter:来过滤,要织入的目标类
getMethodMatcher:来过滤,要织入的方法
的时候,由Advice和Pointcut 构成)
3.系统自带的一些Pointcut
(1)NameMatchMethodPointcut:对方法名称进行匹配。
注意:对字符串数组用list赋值,会自动转换为字符串数组。
(2)RegexpMethodPointcutAdvisor:根据正则表达式匹配
五:引入:
1.不用修改一个类,而可以对这个类增加一定的方法和属性。
2.使用步骤:
(1)将新增加的方法,放到一个新的接口里面
(2)编写引入类
(3)配置引入
<bean id="someBeanII"
class="aop1.SomeBeanIntroductionInterceptor"/>
<beanid="someBeanIIAdvisor"
class="org.springframework.aop.support
.DefaultIntroductionAdvisor">
<constructor-arg>
<ref local="someBeanII"/>
</constructor-arg>
<constructor-arg>
<value>aop1.OtherBean</value>
</constructor-arg>
</bean>
注意:虽然语法有这么个功能,但是效率很低,建议不要使用