java编程思想注解总结(jdk1.8)

注解基础

  • 注解的作用
    • 注解运行
  • 注解的神奇
  • Unit注解

注解的作用

注解是一些数据,在代码中添加在稍后某个时刻可以方便使用,稍后某个时刻分为源代码(SOURCE)、类文件(CLASS)、运行时(RUNTIME),我对source、class、runtime具体的时刻不清楚,但是source早于class,class早于runtime是可以肯定的;
注解最早是用来提供程序无法用java来表达的或是以前必须依赖外部文件的解决方案。

注解运行

注解的处理或者说注解起作用要用注解处理器,一般是获取这个类的CLASS,然后通过反射提供的方法来获取注解信息,如getDeclaredMethods(),getAnnotation(Type.class)等;
java1.8用的是javac命令 ,以前(1.5)用apt命令;
比如1.8中

@SupportedAnnotationTypes(
        "annotations.simplest.Simple")
@SupportedSourceVersion(SourceVersion.RELEASE_8)
public class SimpleProcessor
        extends AbstractProcessor {

其中@SupportedAnnotationTypes、@SupportedSourceVersion在1.5的老版中只是一个叫AnnotationProcessorFactory接口中的方法,老1.5还有一个AnnotationProcessor接口中的process方法,现在放在了AbstractProcessor 抽象类中。

通过命令可以解析注解类中的信息:
javac -processor annotations.simplest.SimpleProcessor SimpleTest.java

java编程思想1.8关于简单的处理器连接.

注解的神奇

如果在系统构建的过程中会自动创建一些新的源文件,会检查新生成源文件中注解,然后将所有文件一同编译。
当注解处理器生成一个新的源文件时,该文件件会在新一轮(round,Sun文档中这样称呼它)的注解处理中接受检查。该工具会一轮一轮地处理,直到不再有新的源文件产生为止。然后它在编译所有的源文件。
——引用java编程思想第四版,jdk1.5

Unit注解

Unit注解在java编程思想jdk1.8版本中有提到,大概是注解处理器的PLUS版
Unit注解写的太狠了,暂时看不懂,可以连接到这里看看

你可能感兴趣的:(注解,java,java基础)