java annotation(注解)--入门

学习java的人都知道java中有javadoc这样的java注解,这类注解是用来生成帮助文档用的。

在EJB、Spring、Hibernate、Struts现都可用注解方式配置应用,但是我们对java annotation又有多少了解呢

 

 

其实annotation说是元数据(元数据大家应该不陌生--元数据 最本质、最抽象的定义为: data about data (关于数据的数据-- 关于数据的数据或者叫做用来描述数据的数据 )

 

元数据的作用

如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:

l             编写文档:通过代码里标识的元数据生成文档。

l             代码分析:通过代码里标识的元数据对代码进行分析。

l             编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。

 

先看看怎么定义一个annotation

就是在定义接口的interface前加@

再看使用方法

 

添加变量

为变量赋默认值


 

限定注释使用范围


     当我们的自定义注释不断的增多也比较复杂时,就会导致有些开发人员使用错误,主要表现在不该使用该注释的地方使用。为此,Java   提供了一个ElementType   枚举类型来控制每个注释的使用范围,比如说某些注释只能用于普通方法,而不能用于构造函数等。下面是Java   定义的ElementType   枚举:

添加使用范围

这样表明该annotation只能用于方法注解

注释保持性策略

CLASS
          编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。即要通过java反射得到它是得不到的
RUNTIME
          编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。
SOURCE
          编译器要丢弃的注释。即要通过java反射得到它是得不到的

 

 

使用策略;

注释保留策略。此枚举类型的常量描述保留注释的不同策略。它们与 Retention 元注释类型一起使用,以指定保留多长的注释。

 

运行时注解的读取


类类型注解

方法类型注解

 

 

 

以下为完整的测试用例:

只能用于方法类型

只能用于类类型

使用

 

测试类

测试类中用到了得到javabean信息的类Introspector的getBeanInfo(Class clazz)方法得到javabean的信息

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值