文章目录
简介
在很多业务场景中,我们一般会对重复的代码进行抽取注册成一个工具类,但是每次都要引入该方法,显然不够优雅。在SpringBoot中支持的自定义注解可让代码更加简洁。
话不多说,上代码:
import java.lang.annotation.*;
//注解信息会被添加到Java文档中
@Documented
//注解的生命周期,表示注解会被保留到什么阶段,可以选择编译阶段、类加载阶段,或运行阶段
@Retention(RetentionPolicy.RUNTIME)
//注解作用的位置,ElementType.METHOD表示该注解仅能作用于方法上
@Target(ElementType.PARAMETER)
public @interface LoginUser {
}
只需在自定义接口中添加@,就会标记这是一个注解类,但是如何实现注解中的方法呢?一般情况下有两种,一种是通过aop切面配置通知,另一种是通过实现解析器HandlerMethodArgumentResolver来实现,本文使用更加简洁的实现解析器方法来配置自定义注解
demo(自定义用户信息注解)
- 业务场景
在大部分的管理系统中,都需要对用户的权限进行校验,一般来说会使用公共方法来获取用户信息,但是在每个接口都进行获取,代码明显不够简洁,因此通过自定义注解来实现获取用户信息。
- 业务代码
1、自定义接口并申明此接口为一个注解类型
@Target(ElementType.P