Spring:@ControllerAdvice 和 Spring AOP 之间的区别

问题描述 投票:0回答:2

@ControllerAdvice
注释允许我们编写适用于各种控制器的全局代码。

我的问题是:

@ControllerAdvice
仅适用于控制器级别,Spring AOP基于切入点。

除此之外,它们之间以及何时使用

@ControllerAdvice
和Spring AOP还有什么区别?

我试图实现如本示例链接所示的内容。

链接在此

java spring-mvc
2个回答
8
投票

@ControllerAdvice
是 Spring 提供的 AOP 功能之一。用例的主要区别在于
@ControllerAdvice
由 Spring MVC 基础设施连接并使用(并提供)特定于 Web 的功能。如果您正在编写专门适用于 Web 请求的建议,例如错误处理(例如,将异常转换为企业标准 JSON 错误格式),请使用它。否则,方面就是方法。


0
投票

主要区别可以从范围和用例方面来理解。 ControllerAdvice是专门针对Controller的,而SpringAOP是通用的。两者都是为交叉问题而设计的,但它们有不同的目的。 ControllerAdvice 与 SpringMVC 集成,用于异常处理,它不像传统的 AOP。

© www.soinside.com 2019 - 2024. All rights reserved.