有一个Java应用程序,除了注释类或方法(使用自定义或现有注释)之外,我无权更改Java代码。
仅使用注释和注释我必须调用代码,这意味着每次创建带注释的类的实例或调用带注释的方法时,都必须执行一些额外的Java代码(例如,调用REST Web服务)。所以我的问题是:我该怎么做?
为了防止我已经检查过的答案,我会给你一些似乎有用但不够令人满意的解决方案。
-
面向方面编程(例如AspectJ)可以这样做(在调用带注释的方法之前和之后执行代码),但我真的不想要运行时开销。
-
使用实际使用反射的here提供的解决方案。这正是我所需要的只是它改变了初始代码而不仅仅是注释,所以我不能使用它。
-
使用注释处理器按照最后一个答案的建议here生成源代码。但是,这仍然意味着我将改变我不想要的源代码。
醇>
我真正想要的是一种简单地包含Java文件的方法,每次触发带注释的元素时,该文件都会以某种方式执行某些Java行。