<aop:config>
<aop:pointcut id="pt" expression="execution(* *..*(..))"/>
<aop:aspect ref="myAdvice">
<aop:before method="before" pointcut-ref="pt"/>
</aop:aspect>
</aop:config>
- 名称:aop:config
- 类型:标签
- 归属:beans标签
作用:设置AOP
<beans>
<aop:config>...</aop:config>
<aop:config>...</aop:config>
</beans>
说明:一个beans标签中科院配置多个aop:config标签
- 名称:aop:aspect
- 类型:标签
- 归属:aop:config标签
- 作用:设置具体的AOP通知对应的切入点
格式
<aop:aspect>
<aop:aspect ref="beanId">...</aop:aspect>
<aop:aspect ref="beanId">...</aop:aspect>
</aop:aspect>
说明:
- 一个aop:config标签中可以配置多个aop:aspect标签
- 基本属性:
- ref:通知所在的bean的id
- 名称:aop:pointcut
- 类型:标签
- 归属:aop:config标签、aop:aspect标签
- 作用;设置切入点
格式
<aop:config>
<aop:pointcut id="pointcutId" expression="....">
<aop:aspect>
<aop:pointcut id="pointcutId expression="..."/>
</aop:aspect>
</aop:config>
说明:
- 一个aop:config标签中可以配置多个aop:pointcut标签,且改标签可以配置在aop:aspect标签内
- 基本属性:
- id:识别切入点的名称
- expression:切入表达式
切入点
- 切入点描述的是某个方法
- 切入点表达式是一个快速匹配方法描述的通配符,类似于正则表达式
切入点表达式的组成:
- 切入点描述的是某个方法
- 切入点表达式是一个快速匹配方法描述的通配格式,类似于正则表达式
关键字 (访问修饰符 返回值 包名.类名.方法名 (参数) 异常名)
- 关键字:描述表达式的匹配模式(参看关键字列表)
- 访问修饰符:方法的控制访问权限修饰符
- 类名:方法所在的类(此处可以配置接口名称)
- 异常:方法定义中指定抛出异常
范例:
execution (public User com.example.service.UserService.findById (int))
切入点关键字:
- execution:匹配执行指定方法
- args:匹配带有指定参数类型的方法
- within:…..
- this:…..
- target:…..
- @within:…..
- @target:…..
- @args:…..
- @annotation:…..
- bean:…..
- reference pointcut:…..