aspectj 注解
aspectj是一个面向切面编程的框架,即实现了aop,这不是spring,它本身很小,方便简洁,spring将其整合成自己的。
与spring本身对aop的支持不同,顾问采用正则表达式或者方法名或通配符
而aspectj引入了切入点表达式,这应该是spring看中的地方,代码风格很漂亮。
execution(* com.ysny.service.*.*(..)) 第一*是返回值,空一个,com.ynsy.service包下的所有类的所有方法任意参数
execution(* com.ysny.service..*.*(..))
以.分隔 ,*一级包 , .*,*.任意级,任意类名
切面:
@Aspect public class Myaspect { @Before("execution(* *..ISomeService.doSome(..))") public void afterReturning() throws Throwable { //注意这里的参数,不能是任意的参数,会报错,不能注入切入点 System.out.println("afa12333------------------------------------------------------------------------"); } }
海纳百川 ,有容乃大