0

我是 Spring AOP 的新手,我需要一些帮助

  1. 我有 MultiActionController,这是基于注释的。
  2. 我在 spring 配置文件中为方法和顾问定义了切入点。
  3. 我正在从我的控制器调用该方法。

现在我的问题是:如何在控制器中定义切入点注释?

请给我一些提示。

提前致谢。

4

1 回答 1

1

AOP 的全部意义在于您不在目标类中定义切入点,而是在外部方面类中(或者在基于 XML 的 Spring AOP 的情况下,在 XML 中)。

因此,如果您的控制器和方面都在同一个 ApplicationContext 中(并且切入点与控制器方法匹配),则应该自动应用建议。

但是,有一个警告:

如果你使用接口来支持你的控制器,Spring AOP 只会以标准(基于 JDK 代理)的方式工作。

如果您确实使用接口,请考虑此注释(来源):

注意
当使用控制器接口时(例如用于 AOP 代理),请确保始终将所有映射注释 - 例如@RequestMapping@SessionAttributes- 放在控制器接口上而不是实现类上。

如果不这样做,则必须按照代理机制proxy-target-class="true"部分中的说明进行设置。

于 2010-12-20T08:05:30.973 回答