关于aop:pointcut的expression配制说明及JoinPoint
来源:互联网 发布:连接不到csgo网络 编辑:程序博客网 时间:2024/06/07 01:06
关于aop:pointcut的expression配制说明及JoinPoint
我的示例如下,配制了多个pointcut:
<bean id="logAspect" class="com.abc.aspect.LogAspect">
<property name="logBiz" ref="logBiz" />
</bean>
<aop:config>
<aop:pointcut id="pointcut_add" expression="execution(* com.abc..biz..*.add*(..))"/>
<aop:pointcut id="pointcut_update" expression="execution(* com.abc..biz..*.update*(..))"/>
<aop:pointcut id="pointcut_delete" expression="execution(* com.abc..biz..*.delete*(..))"/>
<aop:aspect ref="logAspect">
<aop:after pointcut-ref="pointcut_add" method="log" />
<aop:after pointcut-ref="pointcut_update" method="log" />
<aop:after pointcut-ref="pointcut_delete" method="log" />
</aop:aspect>
</aop:config>
expression说明:
expression是对方法签名的通配.本例中分为两部分
第一个空格前是说明ret-type-pattern,空格后是说明name-pattern(param-pattern),具体说明如下:
第一个*(ret-type-pattern), 表示任意返回值类型
第二个和第三个*(name-pattern), 第二个包名通配,第三个方法名通配
最后二个.. 表示通配方法可以有0个或多个参数
##################################################
以下为网上文档:
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?)
returning type pattern,name pattern, and parameters pattern是必须的.
ret-type-pattern:可以为*表示任何返回值,全路径的类名等.
name-pattern:指定方法名,*代表所以,set*,代表以set开头的所有方法.
parameters pattern:指定方法参数(声明的类型),(..)代表所有参数,(*)代表一个参数,(*,String)代表第一个参数为任何值,第二个为String类型.
JoinPoint实用方法说明:
java.lang.Object[] getArgs():获取连接点方法运行时的入参列表;
Signature getSignature() :获取连接点的方法签名对象;
java.lang.Object getTarget() :获取连接点所在的目标对象;
java.lang.Object getThis() :获取代理对象本身;
网上其它示例1:
<aop:pointcut id="serviceMethod" expression="execution(* *..*Service.*(..))" />
第一个* 表示任意返回值类型
第二个* 表示以任意名字开头的package. 如 com.xx.
第三个* 表示以任意名字开头的class的类名 如TestService
第四个* 表示 通配 *service下的任意class
最后二个.. 表示通配 方法可以有0个或多个参数
网上其它示例2:
execution(* com.aptech.jb.epet.dao.hibimpl.*.*(..))
这样写应该就可以了
这是com.aptech.jb.epet.dao.hibimpl 包下所有的类的所有方法。。
第一个*代表所有的返回值类型
第二个*代表所有的类
第三个*代表类所有方法
最后一个..代表所有的参数。
- 关于aop:pointcut的expression配制说明及JoinPoint
- 关于Pointcut Joinpoint Advice Advisor的理解
- spring aop pointcut expression 例子说明
- spring aop pointcut expression 例子说明
- spring aop pointcut expression 例子说明
- aop:pointcut expression解析
- aop:pointcut expression解析
- aop:pointcut expression解析
- JBoss AOP之Joinpoint和Pointcut表达式
- Spring事务管理—aop:pointcut 属性expression格式说明
- Spring AOP 中pointcut expression表达式解析及配置
- Spring AOP中pointcut expression
- spring中aop:pointcut的expression的理解
- Spring aop joinpoint advice advisor pointcut target自己理解
- Spring事务管理—aop:pointcut expression解析
- Spring事务管理—aop:pointcut expression解析
- Spring AOP中pointcut expression表达式解析
- Spring AOP中pointcut expression表达式解析
- 学习java之基础二
- 将一个输入的字母,转换成第4个字母
- iptables的管理命令介绍
- 一点点的、慢慢的淡出了你的记忆:伤感日志
- AS3:dispatchEvent与事件流,点击事件的穿透性
- 关于aop:pointcut的expression配制说明及JoinPoint
- 命令式至函數式隨記(五)
- opencv例程blobtrack_sample 浅析
- 求圆的面积及各种数据
- java通过经纬度计算两坐标点之间的距离
- C++ 第九周任务-分段函数求值
- 导出excel RegisterForEventValidation can only be called during Render();
- 你们有没有在一起:伤感日志
- Resource文件 作者:袁伟(Kefroth)