2

我知道下面提到的可以检测和使用注释的方法:

  1. 注释处理器(编译时代码生成)
  2. 运行时注解扫描(例如 ASM 和其他字节码扫描库)
  3. 自定义类加载器,反映它们加载的类的注释
  4. 在运行时使用反射 API

注意:我不确定是否使用过方法(3)

我正在寻找有关在哪种情况下使用哪些注释处理技术的信息。想到的几个例子是:

  1. 部署时间(例如,当您部署 WAR 时,Java EE 容器如何知道注释是否正确应用)
  2. 编译时(例如 Apache Beehive Pageflows 在编译时使用注释处理器生成大量 XML 文件)
  3. 运行时(例如 Spring 对您指定的类路径进行字节码注释扫描)
4

1 回答 1

2

4 被依赖注入框架大量使用,例如HK2Guice.

3 实际上用于您关心类的静态成员的依赖注入/初始化的任何地方,例如PowerMock知道它是否需要处理类。

于 2013-05-17T04:54:48.483 回答