注解处理器

注解(Annotation)--注解处理器

一个人想着一个人 提交于 2020-02-29 03:00:47
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。 注解处理器类库(java.lang.reflect.AnnotatedElement):   Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素,该接口主要有如下几个实现类:   Class:类定义   Constructor:构造器定义   Field:累的成员变量定义   Method:类的方法定义   Package:类的包定义   java.lang.reflect 包下主要包含一些实现反射功能的工具类,实际上,java.lang.reflect 包所有提供的反射API扩充了读取运行时Annotation信息的能力。当一个Annotation类型被定义为运行时的Annotation后,该注解才能是运行时可见,当class文件被装载时被保存在class文件中的Annotation才会被虚拟机读取。   AnnotatedElement 接口是所有程序元素(Class

如何自动生成JPA元模型对象(1)—hibernate元模型生成器

五迷三道 提交于 2019-12-04 21:27:17
Hibernate静态元模型生成器既可以通过命令行使用,也可以集成在IDE中使用。大多数情况下,如果使用了jdk6及以上的版本,并且注解处理器的jar已经被包含在classpath中,注解处理器会自动的运行,因为Hibernate静态元模型生成器的jar包的META-INF/services目录里已经包含了文件javax.annotation.processing.Processor。 1.通过命令行使用(maven) 在maven构建的过程中,有几种方式可以运行注解处理器。其一,就是上面提到的在classpath中引入它的jar包。如果在classpath中有多个注解处理器,可以在maven的编译插件中传入处理选项参数 <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <compilerArguments> <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> </compilerArguments> </configuration> </plugin> 使用maven-compiler