`

java中自定义注解

阅读更多
java 自定义注解中的三个主要注解:

   @Target:指示注释内容的上下文,有如下类型:

    
 /** Class, interface (including annotation type), or enum declaration */
    TYPE,

    /** Field declaration (includes enum constants) */
    FIELD,

    /** Method declaration */
    METHOD,

    /** Formal parameter declaration */
    PARAMETER,

    /** Constructor declaration */
    CONSTRUCTOR,

    /** Local variable declaration */
    LOCAL_VARIABLE,

    /** Annotation type declaration */
    ANNOTATION_TYPE,

    /** Package declaration */
    PACKAGE,

    /**
     * Type parameter declaration
     *
     * @since 1.8
     */
    TYPE_PARAMETER,

    /**
     * Use of a type
     *
     * @since 1.8
     */
    TYPE_USE


   @Retention:指示注释类型的注释多长时间为保留。如果不存在保留注释注释类型声明,保留策略默认为class,有如下类型

   
 /**
     * Annotations are to be discarded by the compiler.
     */
    SOURCE,

    /**
     * Annotations are to be recorded in the class file by the compiler
     * but need not be retained by the VM at run time.  This is the default
     * behavior.
     */
    CLASS,

    /**
     * Annotations are to be recorded in the class file by the compiler and
     * retained by the VM at run time, so they may be read reflectively.
     *
     * @see java.lang.reflect.AnnotatedElement
     */
    RUNTIME


   @Documented:指示类型的注释要由JavaDoc记录

   自定义的注解:
   
@Target({ElementType.FIELD,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AnnotationTest {
    public boolean isAnnotation() default false;

    public String name() default "";

    public String value () default "";
}



  使用:
  
@AnnotationTest(name = "wangxiangyang",isAnnotation = true)
    public void testAnnotation(){
        System.out.println("------------");
    }

    
  获取注解中的值:

   
try{

            Method method = LuceneTest.class.getDeclaredMethod("testAnnotation");
            if (method.isAnnotationPresent(AnnotationTest.class)){
                AnnotationTest annotationTest =  method.getAnnotation(AnnotationTest.class);
                System.out.println(annotationTest.isAnnotation());
                System.out.println(annotationTest.name());
                System.out.println(annotationTest.value());
                System.out.println(annotationTest.toString());
            }
        }catch (Exception e){
            e.printStackTrace();
        }

    
分享到:
评论

相关推荐

    java 自定义注解验证

    在本案例中,作者创建了三个自定义注解,具体细节虽未详述,但我们可以深入探讨一下Java自定义注解的基本概念、创建过程以及如何进行验证。 首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种...

    Java自定义注解使用反射获取字段注解

    Java自定义注解是Java语言中的一个重要特性,它允许我们创建自己的元数据,为代码提供额外的信息。在Java中,注解(Annotation)主要用于编译器检查、代码生成、运行时处理等方面。本文将深入探讨如何通过反射机制来...

    java自定义注解接口限流demo

    java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo...

    Java中自定义注解介绍与使用场景详解

    Java中自定义注解介绍与使用场景详解 Java 中的自定义注解是指开发者可以根据需要定义和使用的注解,可以在编译期、加载期和运行期进行处理。自定义注解可以扩展 Java 语言的功能,提供更多的 Metadata 信息,方便...

    Java自定义注解实例

    Java自定义注解是Java编程语言中的一个重要特性,它允许程序员在代码中插入元数据,这些元数据可以被编译器或运行时环境用来执行特定的任务。自定义注解不仅提高了代码的可读性,还简化了代码处理,特别是在框架和库...

    java自定义注解实践

    "java自定义注解实践" Java 自定义注解实践是 Java 语言中的一项重要特性,它可以使开发者自定义注解,以满足不同的需求。在本文中,我们将详细介绍 Java 自定义注解的概念、特点、实现方式及实践应用。 概念 ----...

    自定义注解实现伪动态传参的小demo

    在这个“自定义注解实现伪动态传参的小demo”中,我们将探讨如何创建一个自定义注解,以允许在注解中传递类似于动态参数的数据。 首先,自定义注解的定义通常以`@interface`关键字开始,我们可以定义一些元素(也...

    java 自定义注解例子

    本教程将通过一个超市自动售卖机的例子来详细讲解如何在Java中实现自定义注解。 首先,我们需要了解注解的基本结构。在Java中,注解以`@`符号开头,后面跟着注解的名称。自定义注解的定义类似于接口,但使用`@...

    Java中自定义注解类及使用实例解析

    Java中自定义注解类及使用实例解析 Java 中的自定义注解类是一种非常强大的工具,可以在编程过程中提供元数据,并且可以根据需要进行自定义和扩展。在本文中,我们将详细介绍 Java 中的自定义注解类,并提供实例...

    java自定义注解实现由类自动生成表

    在Java编程中,自定义注解(Annotation)是一种强大的元数据机制,允许程序员在源代码中插入信息,这些信息可以被编译器、IDE或运行时环境用来进行各种处理。自定义注解使得代码更加可读,易于维护,并且可以自动化...

    谈谈Java中自定义注解及使用场景

    Java中的自定义注解是一种强大的工具,允许程序员在代码中添加元数据,这些元数据可以在编译时或运行时被解析和使用。自定义注解是Java 5引入的新特性,它增强了代码的可读性和可维护性,同时也简化了框架和库的开发...

    java自定义注解和通过反射获取注解

    Java自定义注解和通过反射获取注解是Java编程中重要的高级特性,它们极大地增强了代码的可读性和可维护性。注解(Annotation)是一种元数据,提供了在编译时和运行时对代码进行标记的方法,而反射(Reflection)则是...

    excel导入动态校验,自定义注解动态校验

    自定义注解动态校验则是在编程环境中,通过使用自定义注解来定义数据验证规则。注解是一种元数据,可以提供有关代码的附加信息,通常用于简化代码并提高可读性。在导入Excel数据时,开发者可以创建自定义注解,这些...

    实现生成自定义注解的实体类

    在Java编程语言中,自定义注解是一种强大的工具,它允许开发者创建自己的元数据,以提供额外的信息或规范代码的特定行为。自定义注解可以应用于类、接口、方法、变量等不同层级,使得代码更加模块化,易于理解和维护...

    自定义注解得使用,模拟spring通过注解方式创建bean实例

    总结一下,自定义注解和基于注解的bean创建是Spring框架中强大的特性,它允许我们以声明式的方式定义和管理bean。通过创建自定义注解和相应的处理器,我们可以模拟Spring的行为,为应用程序提供高度定制化的bean管理...

    自定义注解实现拦截sql.rar

    在Java开发中,自定义注解是一种非常强大的工具,它允许我们为代码添加元数据,以便在运行时或编译时进行处理。本示例中,“自定义注解实现拦截SQL”是关于如何通过注解来动态修改执行的SQL语句,以在其中增加特定的...

    Java自定义注解与spring BeanPostProcessor详解

    结合这两个概念,我们可以在自定义注解中定义特定的行为,然后通过BeanPostProcessor来处理这些注解。例如,可以创建一个`@Transactional`的自定义注解,用于标记那些需要事务管理的方法。然后,实现一个...

    java自定义注解

    Java自定义注解是Java平台提供的一种元编程机制,它允许程序员在代码中插入特定的标记,这些标记可以在编译时或运行时被处理器解析,从而实现特定的功能。自定义注解可以用来增强代码的可读性,简化代码处理,以及...

    spring中自定义注解(annotation)与AOP中获取注解

    首先,自定义注解是Java语言提供的一种元数据机制,它允许我们在代码中添加额外的信息,而这些信息可以在编译时或运行时被解析和使用。在Spring中,自定义注解通常用于简化配置、实现依赖注入、标记特定行为等。要...

    spring aop 自定义注解保存操作日志到mysql数据库 源码

    3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑...

Global site tag (gtag.js) - Google Analytics