美文网首页
自定义注解:ResultAble和ResultInfoAop

自定义注解:ResultAble和ResultInfoAop

作者: 大师艾小伦 | 来源:发表于2022-08-04 10:39 被阅读0次

功能

ResultAble 注解的方法返回的对象需要是一个Result对象。
加上这个注解后,方法当出现异常的时候,会由ResultInfoAop进行处理,ResultInfoAop会将抛出的异常捕获,并会将异常封装成Result对象,返回给调用者

注解定义

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResultAble {
}

注解处理

/**
 * 处理ResultAble 切面
 */
@Aspect
@Component
public class ResultInfoAop {

    private final Logger log = LoggerFactory.getLogger(this.getClass());

    /**
     * 切面位置是{@link com.smartj.web.common.result.annotation.ResultAble} 标注的方法
     */
    @Pointcut("@annotation(com.smartj.web.common.result.annotation.ResultAble)")
    public void pointcut() {
    }


    /**
     * 处理切面<P>
     * 如果没有异常则正常返回,如果有异常则将异常包装成Result
     *
     * @param point 连接点
     * @return Result对象
     * @throws Throwable 异常
     */
    @Around("pointcut()")
    public Object around(ProceedingJoinPoint point) throws Throwable {
        Object proceed;
        try {
            proceed = point.proceed();
        } catch (Exception e) {
            log.error(point.getSignature().getName() + ":", e);
            proceed = ResultUtil.error(e);
        }
        return proceed;
    }
}

相关文章

  • 自定义注解:ResultAble和ResultInfoAop

    功能 ResultAble 注解的方法返回的对象需要是一个Result对象。加上这个注解后,方法当出现异常的时候,...

  • 一文搞懂反射泛型和反射注解以及通过注解方式写一个BaseDao

    反射泛型和反射注解概括起来就三步: 自定义注解 通过反射获取注解值 使用自定义注解 最终案例 通过自定义注解,将数...

  • Java注解与Spring注解

    1,元注解与自定义注解 1)java.lang.annotation包中包含了所有定义自定义注解所需要的元注解和接...

  • JAVA之自定义注解

    java的基本注解和元注解,不满足条件时可以自定义注解。声明自定义注解使用@interface关键字实现。 根据注...

  • Android进阶之自定义注解

    Android进阶之自定义注解 本篇文章内容包括: 注解的概念 元注解 自定义注解 Android自定义编译时注解...

  • hibernate Validator自定义注解

    如何自定义注解,加入自己的校验逻辑 自定义注解 自定义注解校验类

  • SpringMVC手写

    1. 自定义Controller 和RequestMapping注解 Controller 注解 RequestM...

  • Spring之 自定义注解

    1. 注解分为两种 : 内置注解(jdk自带的注解) 和 自定义注解() @SuppressWarnings 在...

  • 【JAVA】注解

    元注解 用来定义、声明注解的注解。 @Inherited注解 使用此注解声明出来的自定义注解,在使用此自定义注解时...

  • 注解学习笔记

    什么是注解注解分类注解作用分类 元注解 Java内置注解 自定义注解自定义注解实现及使用编译时注解注解处理器注解处...

网友评论

      本文标题:自定义注解:ResultAble和ResultInfoAop

      本文链接:https://www.haomeiwen.com/subject/ymbywrtx.html