深入理解java 注解(Annotation)重版

近期项目需要做权限验证,高手们写了一个权限验证的框架,看了一遍代码,还是和高手有差距啊~

权限框架用到了一些注解反射啥的,所以回头看看以前写的文章《深入理解java 注解(Annotation)》,转过来,再做一些补充,做备忘使用。

一、什么是注解?

懒得去打了,搞一份wiki上的解释,自己看吧(以前可能会翻译一下,现在懒了)

Annotation的使用方式及自定义注解

首先扫下盲,元注解就是Annotation的元注解一共有4个,分别为:@Target、@Retention、@Documented、@Inherited

1、@Target用来表示声明的Annotation修饰的范围,其ElementType的枚举一共有以下几个

简单地翻译一下吧

ANNOTATION_TYPE 注解类型声明

CONSTRUCTOR 构造方法声明

FIELD 属性声明

LOCAL_VARIABLE 局部变量性声明

METHOD 方法声明

PACKAGE  包声明

PARAMETER 参数声明

TYPE 类、接口(包括注解类型)或枚举型声明

2、@Retention 表明了注解可以保留多长时间,或者说是在哪个阶段,默认的保存留方案是CLASS,其RetentionPolicy的枚举一共有以下几个

简单地翻译一下吧

CLASS 注解被记录在class文件中,但是在运行的时候不会在虚拟机中保留(即编译阶段有效)

RUNTIME 注解被记录在class文件中,在虚拟机运行时会被保留,因此可以被反射机制读取出来(即在运行阶段仍然有效)(一般我们使用的都是这个)

SOURCE 在编译的时候被编译器丢弃(即源码阶段有效),像java中的几个常见的在编写代码阶段用于编译器报错的注解都是使用这个值:@Override,@Deprecated,@SuppressWarnings

3、@Documented 标注了这个描述的annotation是否可以被文档化。(没什么好说的)

4、@Inherited 表明了注解的类型是自动被继承的。如果一个注解使用了@Inherited这个元注解,则它的子类也会自动添加这个注解(即这个注解是可以被继承的)。

5、jdk1.5后反射的实体都实现了AnnotatedElement的接口,使得读取注解更加地简单,为了节省时间,还是截jdk文档的图吧

二、注解有什么用

注解的字面上意思就是解释说明吧。

Java中的用途是对类、方法、属性进行添加注释说明,比如,这个方法/类的路由,权限等。

(以上都是自己YY的)

三、注解怎么用

注解的使用一般分类三步:定义注解、使用注解、解析注解。话不多说,上代码。

1、定义注解

2、使用注解

3、解析注解

参考文章:

深入理解java 注解(Annotation)

Oracle java api (这部分自己去选annotation包下的Class)

The Java? Tutorials Lession:Annotaions

Java 注解(百度百科)

时间: 2024-10-13 20:29:30

深入理解java 注解(Annotation)重版的相关文章

深入理解Java注解类型(@Annotation)

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 深入理解Java注解类型(@Annotation) - zejian的博客 - 博客频道 - CSDN.NET zejian的博客 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]流畅的Python,终于等到你!    &am

JAVA注解Annotation

JAVA注解Annotation JAVA注解Annotation 什么是注解 为什么要引入注解 JDK内建Annotation JDK元Annotation Annotation示例 自定义注解 提取Annotation信息 Annotation处理器编写 Annotation处理器处理异常 什么是注解? ??用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override publicString toString()

java 注解Annotation

什么是注解? 注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的. java注解又叫java标注,java提供了一套机制,使得我们可以对方法.类.参数.包.域以及变量等添加标准(即附上某些信息).且在以后某个时段通过反射将标注的信息提取出来以供使用. 通过使用Annotation,程序开发人员可以在不改变的原有逻辑的情况下,在源文件嵌入一些补充的信息. Annotation可以用来修饰类.属性.方法,而且Annotation不影响程序

Java注解Annotation(一)

Java注解Annotation(一)--简介 这一章首先简单介绍一下注解,下一章会给出一个注解应用的DEMO. 1. 元注解 元注解的作用是负责注解其他的注解. JDK1.5中,定义了4个标准的meta-annotation元注解类型,他们被用来提供对其它annotation注解类型作说明. @Target @Retention @Documented @Inherited 这些类型和它们所支持的类在java.lang.annotation包中可以找到. @Target @Target说明了A

Java注解(Annotation)详解

转: Java注解(Annotation)详解 幻海流心 2018.05.23 15:20 字数 1775 阅读 380评论 0喜欢 1 Java注解(Annotation)详解 1.Annotation的概念 An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotate

java注解(Annotation)解析

注解(Annotation)在java中应用非常广泛.它既能帮助我们在编码中减少错误,(比如最常见的Override注解),还可以帮助我们减少各种xml文件的配置,比如定义AOP切面用@AspectJ模式代替Schema模式,特别是最近接触了一点Spring MVC,每次编写Controller的时候用@RequestMapping(),@RequestParam,@ResponseBody等等. 我们所用的java中自带的注解都是定义好了的,直接拿来用,它就能发挥作用.当然了,自己也可以定义注

深入理解Java注解之:注解的使用

注解是jdk1.5新增的特性.大家都知道,jdk1.5在java的发展史上有着划时代的意义.而注解的出现,在某种程度上颠覆了框架的设计.比如,spring在注解出现后,改善了原先五大组件的模式,增加了基于注解的实现方式.现在重点讲讲注解的使用. 元注解:       jdk1.5定义了4个元注解,元注解的作用是注解其他的注解. [email protected] [email protected] [email protected] [email protected] @Retention用于指

【转】XML注释与Description标签及Java:注解(Annotation)的关系

NET中的规范标准注释(一) -- XML注释标签讲解 一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档. 这篇文章将展示如何使用这些XML注释. 在项目开发中,很多人并不乐意写繁杂的文档.但是,开发组长希望代码注释尽可能详细:项目规划人员希望代码设计文档尽可能详尽:测试.检查人员希望功能说明书尽可能详细等等.如果这些文档都被要求写的话,保持它们同步比进行一个战役还痛苦.

深入理解java注解的实现原理

今天将从以下4个方面来系统的学习一下java注解 什么是注解 注解的用途 注解使用演示 注解的实现原理 1,什么是注解 注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包.类.接口.字段.方法参数.局部变量等进行注解 一般常用的注解可以分为三类: 一类是Java自带的标准注解,包括@Override(标明重写某个方法).@Deprecated(标明某个类或方法过时)和@SuppressWarnings(