我想使用 AOP 框架,但有两个限制。

我选择的任何框架

  1. 必须相当独立。我计划在旧版代码基础中使用它,因此无法将诸如Commons-Logging-XXX.jar等潜在依赖性升级到Commons-Logging-newest.jar。

  2. 必须有相当完善的文档记录,不应太复杂而难以理解和集成。

有帮助吗?

解决方案

AspectJ ,据我所知,它只是一个编译器,并且对编译的程序没有任何依赖性除了包括AspectJ运行时jar之外。

它也是积极维护的,是Eclipse项目的一部分,并且具有良好的开发环境( AJDT ,Eclipse的插件。)

其他提示

我喜欢Spring + AspectJ。您可以在xml 中执行所有切入点定义(如果您喜欢),并且您不需要更改旧版内容的代码行。如果你已经知道了spring和AOP的概念,那就没什么好学的了。

好吧,这个并不符合您的所有要求,但我认为值得一看:http://dynamicaspects.sourceforge.net/

优点

  • 除了由于使用 JavaAgent 需要 java 1.5 之外没有任何依赖项
  • 无需 XML 标记,只需与 POJO 类一起使用
  • 自己尝试了一下,发现非常好用(不是很复杂)

负面影响

  • 不再积极维护 afaik
  • 文档不完善
  • 您无法完成成熟的 AOP 框架允许您做的所有事情

我前段时间测试过它,印象深刻,但发现了一些我现在不记得的小故障。尽管你可以尝试一下。

格雷茨,Ghad

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top