0

我在 spring 源工具中应用 AspectJ

我需要在spring源工具中配置加载时间还是编译编织

如果有人提供使用 AspectJ 在 Spring Source Tool 上应用 Aspect 的详细信息,我将非常高兴

4

1 回答 1

2

这是一个非常高级的话题,远远超出了单个 StackOverflow 问题的范围。

基本上:

  • 最简单的情况是 Spring AOP,您根本不使用 AspectJ,而是从 AspectJ 注释创建 Java 代理。这也是最不强大的选项。仅支持几个切入点,目标必须是 Spring Bean。
  • 最强大的选项是静态 AspectJ 编译,您通常将其集成到构建系统中(与 ant 或 maven 配合使用)。您的类文件实际上已更改为包含方面。这称为编译时编织。
  • 加载时编织介于两者之间。您想建议代码,但不想更改类文件,因此您“建议类加载器”(这不是一个充分的定义,但它给了您一个想法)。如果您想向 3rd 方库代码添加方面,Loadtime-weaving 通常也是您唯一的选择。

您应该阅读Ramnivas Laddad 的AspectJ in Action以了解所有细微差别。

无论哪种方式,您在 STS 中使用的设置都应该反映您在构建系统中的设置。Spring Reference 中的第7 节。使用 Spring 进行面向方面编程也非常有帮助。

于 2011-05-04T08:15:14.640 回答