06----------面向切面的Spring
如果说通知定义了切面的"什么"和"何时",那么切点就定义了"何处",切点会匹配通知索要织入的连接点,切面则是要做的东西
spring的AOP是方法级别的调用,如果超过了简单的方法调用(构造器或属性拦截),那么需要使用AspecJ来实现切面
spring借助AjpectJ的切点表达式语言来定义Spring切面
使用and ,or和not
限定bean
execution(* concert.Performance.perform())and bean('woodstock'),限定bean的id为woodsrock才能触发执行perform()方法
execution(* concert.Performance.perform()) !bean('woodstock'),除了
通知方法:
如果就此止步,上面的注解并不会起作用,可以使用javaConfig或Xml
当然上面的前置通知,后置通知,整整4个方法,我们可以使用环绕通知来实现
使用xml定义环绕通知: