`
如若_晴
  • 浏览: 111138 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

阅读更多
转自:http://blog.csdn.net/beyond0851/article/details/8520993

注解的作用:
             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");
}
}
分享到:
评论

相关推荐

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

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

    JAVA 注解示例 详解

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

    Java 注解技术视频详解

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

    Java元注解是Java注解的重要特性,下面我就来详解常见的4大Java元注解

    Java 元注解详解 Java 元注解是 Java 注解的重要特性,它们是用于修饰注解的注解。Java 元注解的作用是通过使用 Java 元注解,可以为注解指定:作用范围、生命周期、是否可重复和是否继承等信息,从而提高注解的...

    java注解详解[文].pdf

    Java 注解详解 Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性。它是一个新的类型,与接口类似,位于同一个层次,称为 Java 的一个类型(TYPE)。注解可以声明在包、类、字段、方法、局部变量、方法...

    吴天雄-Java注解及动态性详解.doc

    Java注解,也称为Annotation,是自JDK 5.0版本起引入的一种元数据机制,它为程序提供了额外的信息,这些信息可以在编译时或运行时被解析和使用。元数据是描述数据的数据,注解就是一种特殊的数据类型,可以用于修饰...

    java注解详解

    ### Java注解详解 #### 一、注解(Annotation)简介 注解是Java语言自JDK 5.0版本引入的一种新特性,用于在代码中添加元数据(即关于数据的数据)。它允许开发人员向Java编译器、工具和其他框架提供额外的信息,而不...

    Java注解机制之Spring自动装配实现原理详解

    Java注解机制之Spring自动装配...Java注解机制之Spring自动装配实现原理详解是指Spring框架中使用Java注解机制来实现自动装配功能的机制,该机制可以根据注解信息来自动将Bean对象关联起来,从而实现了自动装配功能。

    android&java的注解详解demo

    在编程世界中,Java注解(Annotation)是一个强大的工具,它允许程序员在代码中嵌入元数据,这些元数据不直接影响程序的运行,但可以被编译器或运行时环境用来进行各种处理。Android开发中,注解同样扮演着重要角色...

    Java中的注解及自定义注解使用详解.docx

    Java注解是编程语言的一种元数据机制,它们允许程序员在代码中嵌入额外的信息,这些信息可以在编译时或运行时被编译器或虚拟机使用。Java从1.5版本开始引入注解,现在已经成为许多现代Java框架,如Hibernate、Jersey...

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

    ### Spring Java注解、元注解与自定义注解详解 #### 一、Java注解简介 在深入了解Spring框架中的注解应用之前,我们首先需要对Java注解有一个基本的认识。Java注解(Annotation)是一种元数据,可以为程序代码添加...

    java程序使用JPA注解详解.doc

    Java 程序使用 JPA 注解详解 Java 持久层 API(Java Persistence API)是一种 Java 应用程序接口,用于访问、管理和持久化数据之间的关系。JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA ...

    关于java注解的使用

    Java注解的基本语法和使用方法,以及几种内置注解的功能,还有自定义注解的过程,都在本文中得到详细阐述。 ### 内置注解详解 #### @Override `@Override`注解用在方法前,表明此方法是为了重写或实现超类(父类...

    java程序使用JPA注解详解

    Java 程序使用 JPA 注解详解 Java 程序使用 JPA 注解可以实现对象关系映射(ORM),使得 Java 应用程序能够与关系数据库进行交互。JPA(Java Persistence API)提供了多种注解来定义实体类与数据库表之间的映射关系...

    java注解详解,十分有用。

    Java 注解详解 Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性,它是一个新的类型,与类、接口、枚举是在同一个层次。注解可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些...

    java或Java框架中常用的注解及其作用详解_资料.docx

    理解Java注解的关键在于熟悉其语法和使用场景,通过注解,开发者可以更有效地进行代码管理,提高代码的可维护性和灵活性。在实际项目中,结合Java注解和框架如Spring,可以实现松耦合和高度模块化的架构设计。

    最全Java注解图文超详解(建议收藏)

    以下是对Java注解的全面详解: 1. **注解类型**: Java注解有三种类型:源码级注解、编译器注解和运行时注解。源码级注解在编译后不会保留,仅用于编译器进行语法检查;编译器注解会影响编译过程,如`@Override`;...

    深入浅出Java注解(注解概述+注解的本质+反射注解信息+元注解+属性的数据类型及特别的属性:value和数组)

    "Java 注解详解" Java 注解是 Java 中最重要却最容易被人遗忘的知识点。很多人不明白它是怎么起作用的,甚至有人把它和注释混淆。实际上,Java 注解是 Java 中一种特殊的元数据,提供了关于程序元素的信息。 注解...

Global site tag (gtag.js) - Google Analytics