任何AspectJ代码生成库(如Sun的Java代码生成代码模型)?

时间:2011-09-06 09:13:12

标签: java code-generation aspectj

是否有任何免费库可以在编译时生成AspectJ代码(例如在注释处理步骤中)?我正在寻找类似于codemodel的东西,但要生成AspectJ代码。

1 个答案:

答案 0 :(得分:1)

似乎没有这样的库可用。

在更多地阅读和分析codemodel的源代码之后:

  1. 使用codemodel生成纯粹的AspectJ代码是不可能的,因为无法声明如下内容:

    public aspect TransactionManager {...}

  2. 无法正确扭转JDeclaredClass项目以解决1.您必须从头开始重写几乎所有内容

  3. AspectJ5引入了注释,这意味着我们可以在纯Java中声明方面:

    @Aspect    公共类TransactionManager {...}

  4. @AspectJ唯一真正棘手的部分似乎是Inter-type Declarations,但提供了一个好的/可行的解决方案here

  5. 结论:生成AspectJ代码似乎不是特定的库,只能依赖于代码模型。