美文网首页Java
快速上手自定义Java注解

快速上手自定义Java注解

作者: 団长大人 | 来源:发表于2019-03-23 19:21 被阅读1次

Java注解

注解式Java5后才产生的技术,为框架简化代码而存在的

注解的分类

  • 元注解(jdk自带注解):如@Override@SuppessWarnings
  • 自定义注解

    创建注解只需要通过@interface就可以使用了
public @interface AddAnnotation {
    
}

定义注解

  • 使用@Target就可以指定你的注解只能放在哪里

    比如@Target(ElementType.METHOD)就规定这个注解只能放在方法上

  • 使用@Retention用于描述注解的生命周期,

    比如@Retention(RetentionPolicy.RUNTIME)表示运行时有效

  • 还可以直接在注解里定义成员变量,用default来定义默认值


    我写出的示例如下
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AddAnnotation {
    int userId() default 0;

    String userName() default "默认名字";

    String[] arrays();
}

调用时如下

public class User {
    @AddAnnotation(userId = 3,arrays = {"123","321"})
    public void add() {
        
    }
}

使用反射机制获取注解的值

直接上代码

    public static void main(String[] args) throws ClassNotFoundException {
        Class<?> targetClass = Class.forName("com.libi.entity.User");
        //获取当前类所有的方法(不包括父类的方法)
        Method[] declaredMethods = targetClass.getDeclaredMethods();
        for (Method declaredMethod : declaredMethods) {
            //拿到这个方法上的这个注解对象
            AddAnnotation addAnnotation = declaredMethod.getDeclaredAnnotation(AddAnnotation.class);
            if (addAnnotation == null) {
                //如果为空表示这个方法没有这个注解
                continue;
            }
            //这里表示拿到了这个注解
            System.out.println("userId:"+ addAnnotation.userId());
            System.out.println("userName:"+ addAnnotation.userName());
            System.out.println("arrays:"+ addAnnotation.arrays()[0]);
        }
    }

相关文章

  • 快速上手自定义Java注解

    Java注解 注解式Java5后才产生的技术,为框架简化代码而存在的 注解的分类 元注解(jdk自带注解):如@O...

  • 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关键字实现。 根据注...

网友评论

    本文标题:快速上手自定义Java注解

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