我是 Spring AOP 的新手,我需要一些帮助
- 我有 MultiActionController,这是基于注释的。
- 我在 spring 配置文件中为方法和顾问定义了切入点。
- 我正在从我的控制器调用该方法。
现在我的问题是:如何在控制器中定义切入点注释?
请给我一些提示。
提前致谢。
我是 Spring AOP 的新手,我需要一些帮助
现在我的问题是:如何在控制器中定义切入点注释?
请给我一些提示。
提前致谢。
AOP 的全部意义在于您不在目标类中定义切入点,而是在外部方面类中(或者在基于 XML 的 Spring AOP 的情况下,在 XML 中)。
因此,如果您的控制器和方面都在同一个 ApplicationContext 中(并且切入点与控制器方法匹配),则应该自动应用建议。
但是,有一个警告:
如果你使用接口来支持你的控制器,Spring AOP 只会以标准(基于 JDK 代理)的方式工作。
如果您确实使用接口,请考虑此注释(来源):
注意
当使用控制器接口时(例如用于 AOP 代理),请确保始终将所有映射注释 - 例如@RequestMapping
和@SessionAttributes
- 放在控制器接口上而不是实现类上。
如果不这样做,则必须按照代理机制proxy-target-class="true"
部分中的说明进行设置。