@ControllerAdvice相关知识点,和@Controller有什么区别
@ControllerAdvice相关知识点,和@Controller有什么区别
@ControllerAdvice
和 @Controller
都是 Spring 框架中的注解,但它们的作用和使用场景有很大区别。下面分别介绍两者的核心知识点及差异:
一、@Controller
注解
@Controller
是 Spring MVC 中用于标识控制器类的注解,主要作用是:
- 标记一个类为 Web 层控制器,负责接收客户端请求、处理业务逻辑(或调用 Service 层)、并返回响应(如跳转页面或返回数据)。
- 通常与
@RequestMapping
结合使用,定义请求路径与方法的映射关系。
核心特点:
- 作用范围:单个控制器类,处理特定的请求路径。
- 核心功能:处理 HTTP 请求,返回视图(如 JSP/HTML)或数据(配合
@ResponseBody
可返回 JSON 等)。 - 典型用法:
@Controller @RequestMapping("/user") public class UserController {@GetMapping("/info")public String getUserInfo(Model model) {model.addAttribute("name", "张三");return "userInfo"; // 返回视图}@PostMapping(