所有分类
  • 所有分类
  • 未分类

Spring工具类–AnnotationUtils的使用

简介

本文介绍Spring的AnnotationUtils工具类的用法。

AnnotatedElementUtils与AnnotationUtils的区别见:这里

用法

注解类

package com.example.annotation;
 
import org.springframework.core.annotation.AliasFor;
 
import java.lang.annotation.*;
 
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
@Inherited
public @interface MyAnnotation {
    @AliasFor(attribute = "location")
    String value() default "";
    
    @AliasFor(attribute = "value")
    String location() default "";
}

控制器

package com.example.controller;

import com.example.annotation.MyAnnotation;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {
    @MyAnnotation(location = "location(my)")
    @RequestMapping("/test")
    public String test() {
        MyAnnotation myAnnotation = null;
        try {
            myAnnotation = AnnotationUtils.getAnnotation(this.getClass().getMethod("test"), MyAnnotation.class);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }

        return "loation:" + myAnnotation.location();
    }
}

测试

postman访问:http://localhost:8080/hello/test

postman结果

loation:location(my)
0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录