黑马程序员技术交流社区
标题:
Spring的通配符啊,好乱
[打印本页]
作者:
徐玉强
时间:
2011-9-29 12:46
标题:
Spring的通配符啊,好乱
<aop:config>
<aop:pointcut id="productServiceMethods"
expression="execution(
public * com.spring.service..*.*(..))"
/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods"/>
</aop:config>
作者:
匿名
时间:
2011-9-30 12:46
首先要知道execution是什么?
execution是切入点指示符处理execution spring还有其他的切入点指示符
如execution、within、args、this、target和bean等切入点指示符
当然execution是最常用的 它里面的参数如下
execution(modifies-pattern? ret-type-pattern declaring-type-parttern? name--pattern(parm-pattern) throws-pattern?)以上打了问号的都可以省略。
上面格式中的execution是不变的,用于作为execution表达式的开头,整个表示式各个部分的解释为:
modifies-pattern:指定方法的修饰符,支持通配符,该部分可以省略。
ret-type-pattern:指定方法的返回值类型,支持通配符,可以使用“*”通配符来匹配所有返回值类型。
declaring-type-parttern:指定方法所属的类,支持通配符,该部分可以省略。
name--pattern:指定匹配指定方法名,支持通配符,可以使用“*”通配符来匹配所有方法。
parm-pattern:指定方法声明中的形参列表,支持两个通配符:“*”、“..”,其中*表示一个任意类型的参数,而“..”表示零个或多个任意类型的参数。
throws-pattern:指定方法声明抛出的异常,支持通配符,该部分可以省略。
例如:
//匹配任意public方法的执行。
execution(public * * (..))
只要明白了execution括号里的参数意义,就不难懂了
希望对你有用!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2