在开发SpringBoot程序的过程中,有可能与其他业务系统进行对接开发,获取封装公共的API接口等等,有的时候为了开发的便捷性以及间接性,会需要开发一些自定义的注解,来实现一些业务。
下面就来说一下在SpringBoot里开发自定义注解。
一:
首先看一下完整的结构图:
在进行开发自定义注解前需要在POM文件中添加aop依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
1.创建annotation文件夹(名字随意),然后创建注解类,注意这是一个@interface,在Kind出选择Annotation
下面来代码:
package com.**.***.项目名.annotation;
import java.lang.annotation.*;
@Target({
ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Token {
String value() default "";
}
关于@Target @Retention @Documented这几个注解可以查看一下这个文件
https://blog.csdn.net/liang100k/article/details/79515910
- 创建Aspect文件夹(名称随意),然后创建切面类。注意:要选择@Aspect
或者直接创建一个class类,然后在类上方添加@Aspect注解。
切面类具体代码:
package com.**.***.项目名称.Aspect;
import com.**.***.项目名称.common.Decrypt;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @ClassName TokenAspect
* @Description token校验自定义注解
* @Author wangjian
* @Date 19/06/25 13:29
* @Version <1.0>
*/
@Aspect