Spring中遇到的问题之aop execution语句

来源:互联网 发布:06年总决赛韦德数据 编辑:程序博客网 时间:2024/05/16 09:28

在学习aop的时候配置applicationContext.xml文件时,在使用execution语句时出现了一个问题

execution 语句格式:

execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)

其中
第一个是修饰符(modifiers-pattern)
第二个是返回值(ret-type-pattern)
第三个方法的包名(declaring-type-pattern)
第四个是方法名(name-pattern)
第五个方法参数(param-pattern)
第六个抛出的异常类型(throws-pattern)

注:带?表示可有可无

下面表示一个使用 public的方法
execution(public * *(..)) 因为返回类型和方法名必须有 所以是两个**

以set开始的方法名(注* 和set之间有个空格,这就是我后面出现的问题)
execution(* set*(..))

the execution of any method defined in the service package or a sub-package:
//使用service 包下及子包的方法
execution(* com.xyz.service..*.*(..))
还有很多用法可以参考spring给的参考文档

在使用aop的时候使用的execution语句:
execution(*aop.PersonDaoImpl.*(..))
粗心的没有加*和a之间的括号导致项目运行不成功!!!

0 0
原创粉丝点击