自定义注解的方式的使用场景:解决签名校验

本文介绍了如何在实际项目中使用自定义注解来解决签名校验问题。通过创建自定义注解类标记需要校验的方法,并利用AOP切面进行签名合法性的验证。在控制器中应用注解,确保只有经过AOP处理后才能执行相应的方法。
摘要由CSDN通过智能技术生成

实际项目中我们可以用自定义注解解决很多事情!

解决签名校验

  1. 创建自定义注解类,注解到我们需要校验才能进入的方法上面
package com.jx.fly.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 签名校验注解
 *
 * @author zhongxiaojian
 * @date 2019-05-23
 **/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SignAnnotation {
   
}

  1. 创建aop切面类,用来校验签名合法性
package com.jx.fly.common.aop;

import cn.hutool.log.StaticLog;
import com.jx.fly.common.result.ResultModel;
import com.jx.fly.common.utils.SignUtil;
import org.aspectj.lang.JoinPoint;
import org
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的自定义注解是一种在代码中声明的特殊标记,用于在运行时对代码进行处理。通过定义注解,我们可以在代码中添加一些额外的元数据或标记信息,以实现对代码的自定义处理。使用自定义注解可以简化代码的编写和维护,提高代码的可读性和可维护性。 自定义注解使用场景有很多,以下是一些常见的使用场景: 1. 代码检查和规范:通过定义注解并在代码中添加注解,可以对代码进行静态检查,以确保代码符合规范和标准。例如,可以定义一个@NonNull注解用于标记不允许为null的参数或返回值,通过编译器插件或静态检查工具进行检查,从而避免了空指针异常。 2. 代码生成:通过定义注解和处理器,可以自动生成一些重复性的代码,提高开发效率。例如,可以定义一个@Entity注解用于标记实体类,通过注解处理器自动生成数据库表的建表语句或实体类的序列化/反序列化方法。 3. 运行时的动态处理:通过定义注解,并在运行时使用反射机制获取注解信息,可以实现一些动态处理的功能。例如,可以定义一个@Cacheable注解用于标记需要缓存的方法,然后使用反射在方法执行前判断是否有缓存数据,如果有则直接返回缓存结果,提高系统性能。 4. 测试框架:通过定义注解和处理器,可以实现自定义的测试框架。例如,可以定义一个@Test注解用于标记测试方法,然后使用注解处理器在测试运行时自动执行标记的测试方法。 总之,自定义注解是Java语言中一种强大的元数据扩展机制,可以在代码中实现各种功能的自定义处理。通过合理设计和使用自定义注解,可以提高代码的可读性、可维护性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值