美文网首页
java 自定义注解

java 自定义注解

作者: 百炼 | 来源:发表于2019-06-11 09:49 被阅读0次

date[2019-06-11]

自己定义注解

Description 注解

package edu.anno;
import java.lang.annotation.*;

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Description {
    String value();
}

Person.java

package edu.anno;
public interface Person {
    String getName();
}

Child 添加注解

package edu.anno;

@Description("I am class Annotation")
public class Child implements Person {
    @Override
    @Description("I am method Annotation")
    public String getName() {
        return null;
    }

    @Override
    public String toString() {
        return super.toString();
    }
}

AnnotionParse 解析注解

package edu.anno;

import java.lang.reflect.GenericDeclaration;
import java.lang.reflect.Method;

public class AnnotionParse {
    public static void main(String[] args) {
        try {
            /*1.通过类名加载类*/
            Class<?> clazz = Class.forName("edu.anno.Child");

            /*2.判断注解是否存在*/
            showAnnotion(clazz,Description.class);
            Method[] methods = clazz.getMethods();
            for (Method method : methods) {
                showAnnotion(method,Description.class);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static void showAnnotion(GenericDeclaration genericDeclaration,Class<Description> descriptionClass){
        /*2.判断注解是否存在*/
        boolean annotationPresent = genericDeclaration.isAnnotationPresent(descriptionClass);
        if(annotationPresent){
            /*3.如果注解存在,获得注解并取得其值*/
            final Description annotation = genericDeclaration.getAnnotation(descriptionClass);
            System.out.println(annotation.value());
        }
    }
}

运行结果

I am class Annotation
I am method Annotation

相关文章

  • Java注解知识梳理—自定义注解处理器

    Java注解知识梳理—自定义注解处理器 前言 前面介绍了如何自定义注解以及Java中关于注解的一些元素作用,学会了...

  • 注解学习笔记

    什么是注解注解分类注解作用分类 元注解 Java内置注解 自定义注解自定义注解实现及使用编译时注解注解处理器注解处...

  • springMVC的自定义annotation(@Retenti

    自定义注解: 使用@interface自定义注解时,自动继承了java.lang.annotation.Annot...

  • 画个图,玩一下注解

    参考《深入理解Java:注解(Annotation)自定义注解入门》

  • 注解的使用

    元注解 注解 注解本质就是接口: 元注解:修饰注解的注解 自定义注解 Text.java FruitName.ja...

  • 注解

    Java注解 注解 元注解 自定义注解 元注解:负责注解其他注解 共有4个标准的meta-annotation类型...

  • Spring注解原理探索(一)

    之 Java元注解释义 Question 注解在Java中如何起作用? Spring是如何识别注解? 如何自定义注...

  • Java注解与Spring注解

    1,元注解与自定义注解 1)java.lang.annotation包中包含了所有定义自定义注解所需要的元注解和接...

  • JAVA之自定义注解

    java的基本注解和元注解,不满足条件时可以自定义注解。声明自定义注解使用@interface关键字实现。 根据注...

  • Android 编译时注解 —— 语法详解

    java Type 详解 java 反射机制详解 注解使用入门(一) Android 自定义编译时注解1 - 简单...

网友评论

      本文标题:java 自定义注解

      本文链接:https://www.haomeiwen.com/subject/bikffctx.html