- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AOP中注解参数详解
AOP编程中注解参数详解
@Pointcut(execution(* transfer(..))) private void anyOldTransfer() {} 切入点指定者的支持Spring AOP 支持在切入点表达式中使用如下的AspectJ切入点指定者:1:execution:匹配方法执行的连接点,这是你将会用到的Spring的最主要的切入点指定者。2:within:限定匹配特定类型的连接点(在使用Spring AOP的时候,在匹配的类型中定义的方法的执行)。3:this:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中bean reference(Spring AOP 代理)是指定类型的实例。4: target:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中目标对象(被代理的appolication object)是指定类型的实例。5: args:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中参数是指定类型的实例。6: @target:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中执行的对象的类已经有指定类型的注解。7: @args:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中实际传入参数的运行时类型有指定类型的注解。8: @within:限定匹配特定的连接点,其中连接点所在类型已指定注解(在使用Spring AOP的时候,所执行的方法所在类型已指定注解)。9: @annotation:限定匹配特定的连接点(使用Spring AOP的时候方法的执行),其中连接点的主题有某种给定的注解合并切入点表达式切入点表达式可以使用‘, || 和 !来合并.还可以通过名字来指向切入点表达式。切入点表达式的基本语法Spring AOP 用户可能会经常使用 execution pointcut designator。执行表达式的格式如下:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)除了返回类型模式(上面代码片断中的ret-type-pattern),名字模式和参数模式以外,所有的部分都是可选的。 返回类型模式决定了方法的返回类型必须依次匹配一个连接点。类型匹配模式1:*:匹配任何数量字符;比如模式 (*,String) 匹配了一个接受两个参数的方法,第一个可以是任意类型,第二个则必须是String类型2:..:匹配任何数量字符的重复,如在类型模式中匹配任何数量子包;而在方法参数模式中匹配任何数量参数,可以使零到多个。3: +:匹配指定类型的子类型;仅能作为后缀放在类型模式后边。类型匹配模式示例1:java.lang.String 匹配String类型;2:java.*.String 匹配java包下的任何“一级子包”下的String类型;如匹配java.lang.String,但不匹配java.lang.ss.String3:java..* 匹配java包及任何子包下的任何类型;如匹配java.lang.String、java.lang.annotation.Annotation4:java.lang.*ing 匹配任何java.lang包下的以ing结尾的类型;5:java.lang.Number+ 匹配java.lang包下的任何Number的子类型;如匹配java.lang.Integer,也匹配java.math.BigInteger切入点表达式的基本示例,使用execution1:public * *(..)任何公共方法的执行2:* cn.javass..IPointcutService.*() cn.javass包及所有子包下IPointcutService接口中的任何无参方法3:* cn.javass..*.*(..)cn.javass包及所有子包下任何类的任何方法4:* cn.javass..IPointcutService.*(*)cn.javass包及所有子包下IPointcutService接口的任何只有一个参数方法5:* (!cn.javass..IPointcutService+).*(..)非“cn.javass包及所有子包下IPointcutService接口及子类型”的任何方法6:* cn.javass..IPointcutService+.*()cn.javass包及所有子包下IPointcutService接口及
您可能关注的文档
- 500强经营管理案例精粹 微软的成功经验.doc
- A Brief Guide to Writing A ComparisonContrast Essay一个简短的指南,写一篇comparisoncontrast.doc
- A Neurological Perspective on SLA Study 新世纪神经学视角.ppt
- AADL文献综述.doc
- A-地层实测剖面的选择及测制.ppt
- AA公司仓库内部布局.ppt
- AA式词语详解.doc
- ABS规范 ABS中文版.doc
- ABAQUS公司介绍.ppt
- Academic Honesty, Academic Dishonesty, and Plagiarism :学术诚信的学术欺诈和剽窃,,.ppt
文档评论(0)