Annotation实际上是一种注释的语法,这种注释和前面将的注释是不一样的。这里的注释是给编译器看的,属于一种配置信息。早起的Java提倡程序与配置文件相分离,代码时代码,注释是注释,但后来的实践发现,配置文件过多,以至于配置信息修改起来非常困难,所以将配置信息直接写入到程序之中的理念又重新得到应用。
现在流行的SSH框架,Sring——开源的Java/Java EE全功能栈的轻量级的应用程序框架),Struts2——用于开发Java EE网络程序的开源WEB应用框架,Hibernate——java语言下的对象关系映射解决方案,它对JDBC进行了轻量级的对象封装,是一种数据库持久层框架)等中大量使用了Annotation。
在本质上,Annotation提供了一种与程序元素无关联任何信息或任何元数据(metadata)的方式。Annotation可以像修饰符一样被使用,它可以应用于任何程序元素(如包,类、构造方法、方法、成员变量、参数、本地变量)的声明中。
21.2 系统内建的Annotation
@Override 告诉编译器这个方法是覆写的,保证了错误在编译的时候就可以发现
@Dprecated 不建议使用该方法
@suppressWarnings 选择性的关闭编译器对类、方法、成员变量、变量初始化的警告
21.3 自定义的Annotation