zoukankan      html  css  js  c++  java
  • java接口定义统一的异常处理,aop

       

      环绕通知获取方法入参的方法

     Object[] args = joinPoint.getArgs();

      指定拦截带有注解的写法

      

        @Pointcut("@annotation(com.springboot_aop.abc)")
        public void homeWorkPointcut() {
            System.out.println();
        }

      统一异常处理,aop

    import org.aspectj.lang.ProceedingJoinPoint;
    import org.aspectj.lang.annotation.*;
    import org.springframework.stereotype.Component;
    
    import java.util.HashMap;
    import java.util.Map;
    
    @Aspect
    @Component
    public class TestAop {
    
    
        /**
         * 定义切入点
         */
        @Pointcut("execution(* com.springboot_aop.controller.*.*(..))")
        public void homeWorkPointcut() {
            System.out.println();
        }
    
    
        @Before("homeWorkPointcut()")
        public void test01() {
            System.out.println("执行前///////");
        }
    
        @After("homeWorkPointcut()")
        public void test02() {
            System.out.println("执行后////");
        }
    
        @Around("homeWorkPointcut()")
        public Object deAround(ProceedingJoinPoint joinPoint) throws Throwable {
            System.out.println("环绕前/////");
            try {
                return  joinPoint.proceed();
            }catch (Throwable e){
                Map<String, Object> data = new HashMap<>();
                data.put("code","500");
                data.put("msg",e.getMessage());
                e.printStackTrace();
                return data;
            }
        }
    
    }
  • 相关阅读:
    表单中input name属性有无[]的区别
    验证器
    模板输出替换
    模型中的数据操作
    2020 倒计时 1 天,Python 工程师找工作更难了?
    80后、90后扎心图鉴
    2019,我赚钱了
    AI在自动化测试领域的应用
    我被裁掉的那一天
    【阿里巴巴】飞猪技术质量招聘
  • 原文地址:https://www.cnblogs.com/qq376324789/p/12217080.html
Copyright © 2011-2022 走看看