package com.java.annotation;

import java.lang.annotation.*;

/**

* Created by lw on 14-5-30.

* 自定义注解

*/

@Documented

@Target(ElementType.METHOD)

@Retention(RetentionPolicy.RUNTIME)

public @interface MethodInfo {

public String Value() default "暂无说明";

}

/*

四个定义注解时候的限定数据

@Target(ElementType.TYPE) :接口、类、枚举、注解

@Target(ElementType.FIELD) :字段、枚举的常量

@Target(ElementType.METHOD) :方法

@Target(ElementType.PARAMETER) :方法参数

@Target(ElementType.CONSTRUCTOR) :构造函数

@Target(ElementType.LOCAL_VARIABLE) :局部变量

@Target(ElementType.ANNOTATION_TYPE):注解

@Target(ElementType.PACKAGE) :包

@Retention(RetentionPolicy.SOURCE) :在源文件中有效(即源文件保留)

@Retention(RetentionPolicy.CLASS) :在class文件中有效(即class保留)

@Retention(RetentionPolicy.RUNTIME) :在运行时有效(即运行时保留)

@Inherited:说明子类可以继承父类中的该注解

@Document:说明该注解将被包含在javadoc中

*/

package com.java.annotation;

import java.lang.annotation.Annotation;

import java.lang.reflect.Method;

/**

* Created by lw on 14-5-30.

*/

public class Test {

/**

* 获取注解参数

*

* @param annotationClass 注解类

* @param annotationField 注解类字段名称

* @param aClass 使用注解的class名称

* @param methodName 使用注解的方法名称

* @throws Exception

*/

public static void getAnnotationPar(Class annotationClass, String annotationField, Class aClass, String methodName) throws Exception {

Method aClassMethod = aClass.getMethod(methodName);

Annotation annotation = aClassMethod.getAnnotation(annotationClass);

Method method = annotation.getClass().getDeclaredMethod(annotationField);

System.out.println(method.invoke(annotation));

}

public static void main(String[] args) throws Exception {

Test.getAnnotationPar(MethodInfo.class, "Value", Test2Annotation.class, "testMyAnnotation");

}

}

class Test2Annotation {

@MethodInfo(Value = "自定义的注解@MethodInfo")

public void testMyAnnotation() {

}

}

java注解获取参数_JAVA 自定义注解及参数获取 | 学步园相关推荐

  1. java注解定义常量_java自定义注解

    1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...

  2. java自定义注解为空值_java自定义注解

    1. Java注解(Annotation) Java注解是附加在代码中的一些元信息,用于一些工具在编译. 运行时进行解析和使用,起到说明.配置的功能. 注解相关类都包含在java.lang.annot ...

  3. Java通过自定义注解执行方法_Java自定义注解(使用篇)

    TL;DR Java 注解广泛运用在开发之中,用于增强变量/方法/类等. 尝试说明 Java 自定义注解的使用,以及通过开源项目中的使用进行说明. 本文主要记录个人的理解,全文基于Java SE8. ...

  4. java自定义注解为空值_java 自定义注解

    转载自(https://www.cnblogs.com/liangweiping/p/3837332.html) 目录 1.通过自定义注解,进行赋值 2.通过自定义注解,进行校验 3.实际应用如何应用 ...

  5. java 中的点_java————形参中的点点点 | 学步园

    转自:http://zhidao.baidu.com/question/149668626.html main方法的签名其实可以这样写: public static void main(String. ...

  6. java 修改ini文件_java读取和修改ini配置文件 | 学步园

    /* * ConfigurationFile.java * * Created on 2009年4月15日, 下午1:36 * * To change this template, choose To ...

  7. java socket超时时间_java中socket 默认超时时间 | 学步园

    MS:永远吧 Java代码 connect publicvoidconnect(SocketAddress endpoint, inttimeout) throwsIOException Connec ...

  8. java libraries在哪_java.library.path在哪? | 学步园

    编译运行可得 Code: publicclassHelloWorld{ publicstaticvoidmain(String args[]){ System.out.println("He ...

  9. java 反斜杠_java反斜杠\的用法 | 学步园

    java反斜杠\的用法比较怪异,分为两种场景: 1. 正则表达式 匹配点(.) 或  {.[.(.?.$.^ .+和 * 这些特殊符号要要前加双斜框,表示字符类的时候也是用双斜杠譬如(\\s[空白符] ...

最新文章

  1. Kafka设计解析(二):Kafka High Availability (上)
  2. Golang Study 二 UDP套接字使用
  3. 从本地push到github以及从github拉一个项目,以及克隆
  4. python classmethod_Python classmethod()
  5. Divisibility题解
  6. 总结一些常用的C语言学习网站
  7. CDISC SDTM AE domain学习笔记 - 1
  8. 华盛顿大学计算机专业gpa,华盛顿大学计算机专业基本信息全盘点 学习来这里就对了...
  9. 【读书摘记】《黄金时代》 -王小波
  10. icom对讲机写频线定义_哈罗CQ火腿社区 - QRP and DIY - 各种写频线的资料,放上来备用吧 - Powered by phpwind...
  11. 一致性算法之Raft算法
  12. 量子算法入门资料个人小结
  13. Android EditText设置边框
  14. SQL反模式:实体-属性-值(EAV)问题(二)
  15. PXE-启动错误代码
  16. JMeter - REST API测试 - 完整的数据驱动方法(翻译)
  17. 使用Matlab定制伯德图坐标纸
  18. 为什么感觉期货交易越做越难?
  19. Redis源码学习(20),学习感悟
  20. Python在Windows下使用ez_setup.py安装pip

热门文章

  1. 解决xshell6评估过期,需采购问题
  2. IEnumerable和使用收益回报的递归
  3. JavaScript将焦点设置为HTML表单元素
  4. 为什么文本文件以换行符结尾?
  5. cropper固定宽高裁剪_cropper实现基本的裁剪图片并上传
  6. 技校毕业是什么学历_技校毕业是什么学历 属于什么文凭
  7. 三国演义词云的python代码_词云制作没那么难,Python 10 行代码就实现了!
  8. linux共享内存 dest,关于linux 共享内存查看已经完整释放
  9. python复制文件shutil_Python常用模块——文件复制模块shutil
  10. 继承性(HTML、CSS)