spring框架配置AOP
XML配置文件和注解的方式都需要定义切入点
Aspectj的Execution切入点表达式
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)
execution([修饰符] 返回值类型 包名.类名.方法名(参数) [异常])
execution([public] void com.jp.aop.PersonDaoImpl.save(Person p) [throws])
例如execution(* com.jp.aop..*.*(..))
- execution():主体
- 第一个
*
:表示返回类型,[long,int],*
表示所有类型。 - 包名:表示需要拦截的包名
- 两个点:表示当前包和当前包的所有子包
- 第二个
*
:表示类名,*
表示所有的类。 - 第三个
*
:这个星号表示方法名,*
表示所有的方法 - 括弧里面:表示方法的参数
- 两个点:表示任何参数。
例如:execution (* com.jp.aop.PersonDaoImpl.s*(..))
- 代表PersonDaoImpl类下所有以s开头的方法