Spring框架

5.4 重用切入点定义

  • 在编写AspectJ切面时,可以直接在通知注解中书写切入点表达式。但同一个切点表达式可能会在多个通知中重复出现。
  • 在AspectJ切面中,可以通过@Pointcut注解将一个切入点声明成简单的方法。切入点的方法体通常是空的,因为将切入点定义与应用程序逻辑混在一起是不合理的。
  • 切入点方法的访问控制符同时也控制着这个切入点的可见性。如果切入点要在多个切面中共用,最好将它们集中在一个公共的类中。在这种情况下,它们必须被声明为public。在引入这个切入点时,必须将类名也包括在内。如果类没有与这个切面放在同一个包中,还必须包含包名。
  • 其他通知可以通过方法名称引入该切入点
  • 5.3     指定切面的优先级

    • 在同一个连接点上应用不止一个切面时,除非明确指定,否则它们的优先级是不确定的。
    • 切面的优先级可以通过实现Ordered接口或利用@Order注解指定。
    • 实现Ordered接口,getOrder()方法的返回值越小,优先级越高。
    • 若使用@Order注解,序号出现在注解中