Annotation:与程序元素(类,方法,变量等)相关联信息或者元数据的标注。从不影响java程序的执行,但是对例如编译器警告或者像文档生成器等辅助工具产生影响。例如@SuppressWarnings("unchecked")。Javaannotation技术是从java5.0开始的。
annotation就像修饰符一样被使用,并应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。这些被存储在annotation的“name=value”结构对中,name=value装载了annotation的信息。annotation类型是一种接口,能够通过反射API的方式提供对其的访问。Spring源码里面有用到annotation特性。
一.最常见的annotation
-
@Override:用在方法之上,用来告诉别人这一个方法是改写父类的
-
@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.
-
@SuppressWarnings:暂时把一些警告信息消息关闭
-
@Entity:表示该类是可持久化的类
之我见:annotation的存在与否都不会影响程序的执行,但有了annotation能让程序锦上添花的效果。例如利用@override可以在你复写父类方法出错了,给出提示;在做单元测试时,在测试方法上使用@test??。因此annotation是的消息是给编译器等工具使用的。Annotation基于java反射机制的。