zoukankan      html  css  js  c++  java
  • Spring AOP

    1. pom依赖

    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

    2. 自定义注解

    /**
     * MyLog
     *
     * @Author zpf
     * @Date 2020-06-16 22:52:49
     */
    @Documented
    @Target({ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Clc {
        String value();
        String name() default "";
    }

    3. 切面

    /**
     * MyAspectJ
     *
     * @Author zpf
     * @Date 2020-06-16 22:54:25
     */
    @Component
    @Aspect
    public class MyAspectJ {
    
        /**
         *  方法一: 通过自定义注解 好处: 注解自定义,想放哪放哪,比较灵活,但是对于批量切入某些类不适用
         */
        @Pointcut("@annotation(com.royal.framework.annotations.Clc)")
        public void pointCut() {}
    
        /**
         *  方法二: 通过切入某些类 好处:对于某些类,可以进行统一管理
         *
         */
    //    @Pointcut("execution(* com.royal.framework.controller.*.*(..))")
    //    public void pointCut() {}
    
        @Around("pointCut()")
        public Object deBefore(ProceedingJoinPoint pjp) throws Throwable {
            System.out.println("---------方法执行之前-------------");
            // 执行原方法,并记录返回值。
            Object proceed = pjp.proceed();
            System.out.println("---------方法执行之后-------------");
            return proceed;
        }
    }

    4. 控制器层测试

    /**
     * TestController
     *
     * @Author zpf
     * @Date 2020-06-16 22:52:03
     */
    @RestController
    public class TestController {
    
        @GetMapping("/index")
        @Clc(value = "测试",name = "test")
        public String getIndex(String username){
            System.out.println("userName=" + username);
            return "This is index";
        }
    }
  • 相关阅读:
    linux源码方式安装Apache
    linux的chmod,chown命令详解
    2011年10月18日
    mysql检查查询及索引效率方法(explain)
    php中英文字符串的研究
    2011年10月20日
    PHP JSON中文乱码解决方法大全
    解决PHP下载文件名中文乱码
    php字符串学习笔记
    CSU_BMW正式组队纪念赛出题+部分解题报告
  • 原文地址:https://www.cnblogs.com/PersonalDiary/p/13149987.html
Copyright © 2011-2022 走看看