`
a3032136
  • 浏览: 3674 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java注解(Annotation)自定义

    博客分类:
  • java
阅读更多

注解(Annotation) 为我们在代码中天界信息提供了一种形式化的方法,是我们可以在稍后

某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据)。

 

注解的语法比较简单,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种

注解,定义在java.lang包中。

@Override 表示当前方法是覆盖父类的方法。

@Deprecated 表示当前元素是不赞成使用的。

@SuppressWarnings 表示关闭一些不当的编译器警告信息。

 

下面是一个定义注解的实例

 

Java代码

  1. package Test_annotation;   
  2.   
  3. import java.lang.annotation.Documented;   
  4. import java.lang.annotation.Inherited;   
  5. import java.lang.annotation.Retention;   
  6. import java.lang.annotation.Target;   
  7. import java.lang.annotation.ElementType;   
  8. import java.lang.annotation.RetentionPolicy;   
  9.   
  10. /*
  11. * 元注解@Target,@Retention,@Documented,@Inherited
  12. *
  13. *      @Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:
  14. *          ElemenetType.CONSTRUCTOR 构造器声明
  15. *          ElemenetType.FIELD 域声明(包括 enum 实例)
  16. *          ElemenetType.LOCAL_VARIABLE 局部变量声明
  17. *          ElemenetType.METHOD 方法声明
  18. *          ElemenetType.PACKAGE 包声明
  19. *          ElemenetType.PARAMETER 参数声明
  20. *          ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
  21. *         
  22. *      @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:
  23. *          RetentionPolicy.SOURCE 注解将被编译器丢弃
  24. *          RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
  25. *          RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
  26. *         
  27. *      @Documented 将此注解包含在 javadoc 中
  28. *     
  29. *      @Inherited 允许子类继承父类中的注解
  30. *   
  31. */  
  32. @Target(ElementType.METHOD)   
  33. @Retention(RetentionPolicy.RUNTIME)   
  34. @Documented  
  35. @Inherited  
  36. /*
  37. * 定义注解 Test
  38. * 注解中含有两个元素 id 和 description
  39. * description 元素 有默认值 "no description"
  40. */  
  41. public @interface Test {   
  42.     public int id();   
  43.     public String description() default "no description";   
  44. }  
  45. 下面是一个使用注解 和 解析注解的实例

     

    Java代码
    1. package Test_annotation;   
    2.   
    3. import java.lang.reflect.Method;   
    4.   
    5. public class Test_1 {   
    6.     /*
    7.       * 被注解的三个方法
    8.       */  
    9.     @Test(id = 1, description = "hello method_1")   
    10.     public void method_1() {   
    11.      }   
    12.   
    13.     @Test(id = 2)   
    14.     public void method_2() {   
    15.      }   
    16.   
    17.     @Test(id = 3, description = "last method")   
    18.     public void method_3() {   
    19.      }   
    20.   
    21.     /*
    22.       * 解析注解,将Test_1类 所有被注解方法 的信息打印出来
    23.       */  
    24.     public static void main(String[] args) {   
    25.          Method[] methods = Test_1.class.getDeclaredMethods();   
    26.         for (Method method : methods) {   
    27.             /*
    28.               * 判断方法中是否有指定注解类型的注解
    29.               */  
    30.             boolean hasAnnotation = method.isAnnotationPresent(Test.class);   
    31.             if (hasAnnotation) {   
    32.                 /*
    33.                   * 根据注解类型返回方法的指定类型注解
    34.                   */  
    35.                  Test annotation = method.getAnnotation(Test.class);   
    36.                  System.out.println("Test( method = " + method.getName()   
    37.                          + " , id = " + annotation.id() + " , description = "  
    38.                          + annotation.description() + " )");   
    39.              }   
    40.          }   
    41.      }   
    42.   
    43. }  
分享到:
评论

相关推荐

    Java自定义注解Annotation的使用

    ### Java自定义注解Annotation的使用 #### 1. 前言 自从JDK 1.5引入了注解这一特性以来,它已经成为Java开发中的一个重要组成部分。注解最初是为了推动EJB 3.0的普及和发展而设计的,其目的是减少配置文件的使用,...

    java 自定义注解验证

    首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不直接影响代码的执行。Java提供了内置的注解,如`@Override`、`@Deprecated`等,但自定义注解允许我们...

    Java 注解Annotation实例上手文档

    ### Java 注解Annotation实例上手文档 #### 一、引言与基础知识 Java注解(Annotation)自JDK 5.0引入以来,已经成为Java语言的重要特性之一,它为代码元数据提供了一种标准化的方式,使得编译器、工具和其他框架...

    java注解annotation.rar

    Java注解,也称为 Annotation,是Java编程语言中的一种元数据机制,用于向编译器、JVM(Java虚拟机)或工具提供有关代码的信息。这些信息可以用来进行编译时检查、运行时处理,或者作为配置信息。注解不是程序的一...

    Spring java注解,元注解和自定义注解

    Java注解(Annotation)是一种元数据,可以为程序代码添加额外的信息。注解本身并不改变程序的行为,但它可以通过工具或编译器被读取和处理,从而影响到程序的编译、运行等阶段。 #### 二、Spring中的Java注解 ...

    springboot工程自定义response注解、自定义规范化返回数据结构

    本主题将深入探讨如何在Spring Boot工程中通过自定义response注解、利用Java反射机制、设置自定义拦截器以及实现WebMvcConfigurer接口来实现这一目标。 首先,我们来看自定义response注解。在Spring Boot中,可以...

    Java自定义注解实例

    ### 一、Java注解概述 1. **定义**: 注解是一种声明式的编程元素,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、变量等不同级别。 2. **预定义注解**: Java标准库提供了若干预定义注解,如`...

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

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

    自定义注解annotation及用法

    在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器、工具或运行时系统提供额外信息的方式。自定义注解允许开发者创建自己的标记来满足特定需求,比如代码生成、验证、持久化等。本文将深入探讨...

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

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

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

    自定义注解是扩展Java功能的强大工具,可以用于实现各种目的,如代码生成、编译时检查、运行时处理等。在这个“自定义注解实现伪动态传参的小demo”中,我们将探讨如何创建一个自定义注解,以允许在注解中传递类似于...

    基于Java注解(Annotation)的自定义注解入门介绍

    自定义注解是Java注解机制的一个重要方面,允许开发者根据需求创建自己的注解类型。 首先,我们来了解一下元注解,这是定义自定义注解的基础。元注解是用于注解其他注解的注解,Java 5.0提供了四个基本的元注解: ...

    注解Annotation实现原理与自定义注解例子.pdf

    注解Annotation实现原理与自定义注解例子 每当你创建描述符性质的类或者接口时,一旦其中包含重复性的工 作,就可以考虑使用注解来简化与自动化该过程。 Java提供了四种元注解,专门负责新注解的创建工作

    java 自定义注解例子

    在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器或JVM提供信息的方式,这些信息可以用于代码分析、编译时检查或者运行时处理。自定义注解允许开发者创建自己的注解类型,以满足特定项目需求。...

    java自定义注解实践

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

    Java Annotation注解技术

    Java Annotation注解技术是自Java SE 5.0版本引入的一种元编程机制,它允许程序员在源代码的各个层面(如类、方法、变量等)添加元数据,以供编译器、JVM或第三方工具在编译时或运行时进行处理。Annotation简化了...

    java 元注解+拦截器实现自定义注解.rar

    java 元注解+拦截器实现自定义注解 @CmwAutoWired:自定义依赖注入 注意:注入的接口和实现类需要在同一包名下,注解的是类则无限制 @FieldAnnotation:自定义属性注解 @MethodAnnotation:自定义方法注解 @...

    java自定义注解

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

Global site tag (gtag.js) - Google Analytics