`

【转】 java 注解的几大作用及使用方法简介

阅读更多

注解的作用:

             1、生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等

             2、跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。以后java的程序开发,最多的也将实现注解配置,具有很大用处;

             3、在编译时进行格式检查。如@override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。

 

使用方法详解:

          下面是注解类,其实注解也就是一个类文件

package annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import entity.PersonChiness;
/***
 * Retention:保持、保留
 * RetentionPolicy:政策、方针
 * @author huawei
 *@Retention
 *1、指示注释类型的注释要保留多久。如果注释类型声明中不存在 Retention 注释,则保留策略默认为 RetentionPolicy.CLASS
 *2、有三种取值(代表三个阶段):
 * RetentionPolicy.SOURCE:保留注解到java源文件阶段,例如Override、SuppressWarnings
 * RetentionPolicy.CLASS:保留注解到class文件阶段,例如
 * RetentionPolicy.RUNTIME:保留注解到运行时阶段即内存中的字节码,例如Deprecated
 */
//元注解:表示的是注解的注解,(同义词有元信息、元数据)
//如果不加,javac会把这无用的注解丢掉
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD})//指定该注解使用的用处:用在class上和用在方法体上。
public @interface HelloAnnotation {
 //返回值是String类型
 String color() default "蓝色";//方法,但是相当于注解的属性,即:当成属性赋值,当成方法调用。
 //默认value
 String value();
 
 String author() default "默认给定了属性";
 //返回值是数组对象
 int[] arrayAttr() default {1};
 //返回值是注解类型
 MetaAnnotation annotationAttr() default @MetaAnnotation("");
 //返回CLASS对象
 Class<PersonChiness> classType() default PersonChiness.class;
}

 

 

下面是实现注解的测试类:

package annotation;

/***
 * 注解类:
 * 1、相当于一种标记,加上注解就等于为程序打上了某种标记,没加,则等于没加某种标记,
 * 2、以后javac编译器、开发工具或其他应用程序可以通过反射来了解你的类,以及各种元素上有无何种标记,
 *   看你有什么标记,就去执行相应的命令和干相应的事。
 * 3、标记用处地方:
 *   加在包、类、字段、方法、方法的参数、局部变量
 * @author huawei
 *
 */
//自定义注解
@HelloAnnotation(color="红色",
     value="如果只有value属性!可以不写属性名和等于号,直接写值即可!",
     arrayAttr={1,2,3},
     annotationAttr=@MetaAnnotation("返回注解类型规范形式。"))
public class AnnotationTest {
 @SuppressWarnings("deprecation")//阻止警告
 @HelloAnnotation("当为value属性时,可以省掉属性名和等于号。")
 public static void main(String[] args) throws Exception{
  System.runFinalizersOnExit(true);
  
  if(AnnotationTest.class.isAnnotationPresent(HelloAnnotation.class)){
   HelloAnnotation helloAnnotation = 
     (HelloAnnotation)AnnotationTest.class.getAnnotation(HelloAnnotation.class);
   System.out.println("color(): "+helloAnnotation.color());
   System.out.println("value(): "+helloAnnotation.value());
   System.out.println("author(): "+helloAnnotation.author());
   System.out.println("arrayAttr(): "+helloAnnotation.arrayAttr().length);
   System.out.println("annotationAttr(): "+helloAnnotation.annotationAttr().value());
   System.out.println("classType(): "+helloAnnotation.classType().newInstance().sayHello("hello,ketty"));
  }
 }
 @Deprecated//自定义:备注过时的方法信息
 public static void sayHello(){
  System.out.println("hello,world");
 }
}

 

转自:http://blog.csdn.net/beyond0851/article/details/8520993

分享到:
评论

相关推荐

    java 注解的几大作用及使用方法详解

    注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种:生成文档。这是最常见的,也是java 最早...

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    在Java编程中,注解...这个示例涵盖了Java中使用反射获取注解的基本操作,包括类、方法、注解的值和方法参数。通过实践这个例子,你可以更好地理解和掌握这些概念,从而在实际项目中更有效地利用注解和反射。

    java注解代码java注解代码

    java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...

    Java 使用注解拼接SQL语句

    "Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得更为简洁和可维护。这种技术通常与ORM(对象关系映射)框架如MyBatis或Hibernate结合使用,但也可以通过自定义处理逻辑实现。 1. **自定义...

    java注解使用例子

    本篇文章将深入探讨Java注解的使用,包括其基本概念、类型、使用场景以及如何自定义注解。 首先,Java提供了三种预定义的注解类型,它们是: 1. `@Override`:确保方法真正重写了超类中的方法,如果找不到匹配的...

    java注解webservice学习第一篇

    Java注解在构建Web服务时发挥着关键作用,它们可以用来标注类、方法或其他程序元素,以指定其Web服务相关的行为。例如: 1. `@WebService`:这是JAX-WS中定义的一个注解,用于标记一个类作为Web服务的接口。它需要...

    java 自定义注解验证

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

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

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

    Java注解实现方式

    Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据可以被编译器或运行时环境用来执行各种任务,例如代码分析、验证、生成代码、部署等。注解提供了更加灵活和可扩展的方式来处理...

    java注解深入理解

    Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...

    Java注解的使用例子

    Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了一种结构化的方式。元数据是在程序代码中包含的关于程序本身的信息,但这些信息并不直接影响程序的执行。注解允许开发者向编译器、JVM或工具提供...

    java注解大全(非常全面)

    Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,允许程序员在代码中插入信息,这些信息可以被编译器或运行时环境用于处理代码。注解不仅简化了开发,还增强了代码的可读性和维护性。本资料...

    Java自定义注解实例

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

    Java的注解包,在使用注解的时候导入的jjar包

    总的来说,Java注解与JUnit和Spring的结合,为Java开发者提供了一种高效、简洁的编程方式,使得测试、依赖管理和框架集成变得更加便捷。这两个JAR包是Java开发者日常工作中不可或缺的工具,对于保证代码质量和提升...

    java简单方法顺序调用注解

    Java注解是编程时的一种元数据机制,它允许在代码中嵌入信息,这些信息可以在编译时或运行时被工具、框架或JVM读取和处理。在Java中,注解通过`@AnnotationName`的形式来声明,它们本身不直接影响程序的执行,但可以...

    java关于注解使用的例子

    Java注解(Annotation)是Java语言提供的一种元数据机制,它允许程序员在源代码的各个元素(如类、方法、变量等)上添加信息。这些信息可以被编译器或运行时环境用来验证代码、生成代码、配置应用程序,或者提供其他...

    java通用注解API

    通过阅读《Java通用注解和API规范.pdf》这份文档,你可以更深入地理解Java注解的原理、使用方法以及最佳实践,从而在实际开发中更好地利用这一强大的工具。这份文档涵盖了从基础概念到高级特性的全面内容,对于Java...

    Java 注解技术视频详解

    自定义注解是Java注解机制的一大亮点。开发者可以通过定义自己的注解类型,来添加特定的元数据。定义注解时,可以指定元素(也称为属性),元素可以有默认值,并且可以是基本类型或者字符串等。例如: ```java @...

    JAVA 注解示例 详解

    本篇文章将深入探讨Java注解的使用及其在实际开发中的应用。 首先,我们了解Java注解的基本结构。一个注解以`@`符号开头,后面跟着注解类型,如`@Override`或`@Deprecated`。注解可以带有参数,参数以键值对的形式...

Global site tag (gtag.js) - Google Analytics