Java
注解(Annotation)又称为Java标注,是JDK5.0
之后的一种注释机制。- Java语言中的类,方法,变量,参数和包等都可以被标注。
- 和
Javadoc
不同,Java标注可以通过反射获取标注内容. - 在编译器生成类文件时,标注可以被嵌入到字节码文件中.
- Java虚拟器可以保留标注内容,在运行时获取标注内容
- 同时也支持自定义标注
Java注解基础Annotation
Annotation实现
- 包含了一个对象所具有的基本特性,内容比较,唯一性,类型确认
它时所有注解类的应该遵守的基本协议
public interface Annotation { boolean equals(Object obj);
int hashCode();
Class<? extends Annotation> annotationType();
}
Annotation在JVM中对应的AnnotatedElement
AnnotatedElement
的对象代表了在当前JVM中的一个“被注解元素”(可以是Class,Method,Field,Constructor,Package等)。在java.lang.lang
中定义了很多的自元素
getAnnotationsByType(Class)和getDeclaredAnnotationsByType(Class)
方法在一个元素上支持多个相同类型的注释。方法在一个元素上支持多个相同类型的注释。default boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
: 如果指定类型的注解出现在当前元素上,则返回true,否则将返回false。这种方法主要是为了方便地访问一些已知的注解。<T extends Annotation> T getAnnotation(Class<T> annotationClass)
: 如果在当前元素上存在参数所指定类型(annotationClass)的注解,则返回对应的注解,否则将返回null。Annotation[] getAnnotations()
: 返回在这个元素上的所有注解。如果该元素没有注释,则返回值是长度为0的数组。
Spring注解大全
- 理解了上面的基础之后,在来研究Spring的注解就非常容易了