美文网首页
自定义注解使用

自定义注解使用

作者: Raral | 来源:发表于2021-06-21 17:45 被阅读0次

同步业务使用

1.注解

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

    public String title() default "";
}

  1. 切面
@Component
@Slf4j
@Aspect
public class CheckParamsAspect {


    //配置织入点
    @Pointcut("@annotation(com.gzsz.shop.api.common.annotation.CheckParams)")
    public void CheckParamsPointCut() {

    }

    // 执行前
    @Before("CheckParamsPointCut()")
    public void CheckParamsBefore(JoinPoint joinpoint) {
        CheckParams annotationCheckParams = getAnnotationCheckParams(joinpoint);
        if(null == annotationCheckParams) {
            return;
        }

        Object args = joinpoint.getArgs()[0];


        if(args instanceof com.gzsz.cs.api.base.ReqDTO) {
            com.gzsz.cs.api.base.ReqDTO reqDTO = (com.gzsz.cs.api.base.ReqDTO) args;

            System.out.println(reqDTO.toString());
            AssetCouponDTO assetCouponDTO = JacksonUtils.json2obj(reqDTO.getBizParams(), AssetCouponDTO.class);
            String uid = assetCouponDTO.getUid();
            if(null == uid || StrUtil.isBlankIfStr(uid)) {

                System.out.println( "uid不能为null,请登录");
            }

        }else {
            log.error("请求参数类型不正确,参数:{}", args.toString());
        }


    }



    /**
     * 是否存在注解,如果存在就获取
     */
    private CheckParams getAnnotationCheckParams(JoinPoint joinPoint)
    {
        Signature signature = joinPoint.getSignature();
        MethodSignature methodSignature = (MethodSignature) signature;
        Method method = methodSignature.getMethod();

        if (method != null)
        {
            return method.getAnnotation(CheckParams.class);
        }
        return null;
    }


}

2. 异步顺序任务

相关文章

  • 【JAVA】注解

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

  • 模仿java的@Test

    定义注解 使用自定义注解 解析注解

  • 注解学习笔记

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

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

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

  • Java自定义注解

    AOP及自定义注解使用Spring boot 使用AopJava自定义注解 定义 注解是一种能被添加到java源代...

  • 【JAVA注解】- 自定义注解的一个Demo

    自定义注解的一个Demo 表名注解 字段约束 字段类型 字段类型 自定义注解的使用 解析注解 输出

  • Java 自定义注解及使用场景

    Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优...

  • Java自定义注解

    Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优...

  • Java实现自定义注解

    Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优...

  • 注解篇

    摘要:自定义注解、自定义注解的使用、自定义注解的处理 **一、注解(也被称为元数据)为我们在代码中添加信息提供了一...

网友评论

      本文标题:自定义注解使用

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