java获取注解的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取注解的值相关的知识,希望对你有一定的参考价值。

参考技术A 很多朋友都想知道java怎么获取注解的值?下面就一起来了解一下吧~

1、定义一个注解,用于给全局变量field字段赋值
package com.haha.study.annotation.value; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * description: 定义一个注解,用于给 全局变量 field 字段 赋值,并使用反射取值。 
* 特别提醒: @Rentention(RetentionPolicy.RUNTIME) 时,注解才会被jvm加载,才能使用反射获取。 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:40 */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value=ElementType.FIELD) public @interface Fields  int sort() default 0 ; String value() ;

2、创建一个普通的类,使用 @ConsAnnotation、@Fields 注解
package com.haha.study.annotation.value; /** * description: 创建一个普通的类,使用 @ConsAnnotation、@Fields 注解。 * @version v1.0 * @author w * @date 2018年8月1日下午2:50:23 */ @ConsAnnotation(request =  "hello","world","annotation!" ) public class User  @Fields("中华人民共和国") private String userName; public String getUserName()  return userName; public void setUserName(String userName)  this.userName = userName;
3、针对 com.haha.study.annotation.value.User 类使用注解的测试
package com.haha.study.annotation.value; import java.lang.reflect.Field; import java.util.Arrays; /** * description: 针对 com.haha.study.annotation.value.User 类使用注解的测试 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:13 */ public class ValueTest  public static void main(String[] args) throws Exception  User user = new User(); // 1、 获取 User类上的注解 @ConsAnnotation ConsAnnotation anno = user.getClass().getAnnotation(ConsAnnotation.class); String[] arr = anno.request(); System.out.println(Arrays.toString(arr)); // [hello, world, annotation!] // 2、 获取User类中 private String userName; 变量上的注解 @Field Field f = user.getClass().getDeclaredField("userName"); Fields anno2 = f.getAnnotation(Fields.class); user.setUserName(anno2.value()); System.out.println(user.getUserName()); // 中华人民共和国

java 怎么获取注解中value的值

参考技术A 1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明本回答被提问者采纳

以上是关于java获取注解的值的主要内容,如果未能解决你的问题,请参考以下文章

java注解设置字段不能为零

java获取当前类上的注解内容

请问JAVA 注解中是如何获取参数注解值的?

@value注解获取属性文件的值怎么转换成int类型

Java 注解自定义注解 ( 注解解析 )

各位大神,求救!!!java 如何获取该类上字段的注解,看图片