aspect切面监听切点的方式

方法一

  • 使用 execution 表达式的方式监听 切点 的代码是否执行
 /**
     * 方式一 使用 execution 表达式的方式监听 切点 的代码是否执行
     */
    @Pointcut("execution(* com.xs.protocol.controller..*(..))")
    public void init(){}

    @Before("init()")
    public void filterPropertity(){
        System.out.println("执行过滤……");
    }


方法二

  • 使用 注解传值的方式监听 切点 的代码是否执行
/**
     * 方式二 使用 注解传值的方式监听 切点  的代码是否执行
     *  该函数会在 使用注解的 方式执行之前首先执行
      * @param propertityFilter
     */
    @Before(value = "@annotation(propertityFilter)")
    public void finterPropertity(PropertityFilter propertityFilter){
        System.out.println("使用注解传值的方法进行过滤");
    }

方法三

  • pointcut中使用 @annotation 的方式监听切点代码是否执行
    /**
     * 方法三; pointcut中使用 @annotation 的方式监听切点代码是否执行
     */
    @Pointcut("@annotation(com.xs.protocol.test.PropertityFilter)")
    public void init(){}
    @Before("init()")
    public void filterPropertity(){
        System.out.println("Pointcut 使用 @annotation 的方式监听切点代码是否执行");
    }



版权声明:本文为ITzhongzi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。