1、概念

  • 注解不是注释
  • Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理. 通过使用 Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息
  • JDK 1.5开始开始,java增加了Annotation注解,用于对元数据(MetaData)的支持
  • Annotation 可以像修饰符一样被使用, 可用于修饰包,类, 构造器, 方法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation 的 “name=value” 对中
  • Annotation 能被用来为程序元素(类, 方法, 成员变量等) 设置元数据
  • 符号:@

2、作用

①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】

②代码分析:通过代码里标识的注解对代码进行分析【使用反射】

③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【如Override】

  1. // this is a component:
  2. @Resource("hello")
  3. public class Hello {
  4. @Inject
  5. int n;
  6. @PostConstruct
  7. public void hello(@Param String name) {
  8. System.out.println(name);
  9. }
  10. @Override
  11. public String toString() {
  12. return "Hello";
  13. }
  14. }

注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据