Java注解

  • 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的注解就非常容易了

参考

Spring官方注解文档

原文地址:https://www.cnblogs.com/wwoo/p/java-zhu-jie.html