ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
`@Controller` 是一个 Spring Web MVC 注解,主要用于标记一个类作为控制器,并将其扫描到 Spring 容器中。它与 `@RequestMapping` 注解一起使用,可以处理 HTTP 请求并返回响应,通常用于创建传统的 Web 应用程序。 使用 `@Controller` 注解标记的类可以接收客户端发来的 HTTP 请求,并根据请求参数和路径执行相应的方法来处理请求,同时将处理结果封装成一个 ModelAndView 对象或者使用 @ResponseBody 将其转化为 JSON 或 XML 格式的数据进行返回给客户端。 例如,下面的代码片段演示了如何在 Spring Boot 中创建一个简单的 Web 应用程序: ```java @Controller public class MyController { @RequestMapping("/hello") public ModelAndView sayHello() { ModelAndView mav = new ModelAndView("hello"); mav.addObject("message", "Hello, world!"); return mav; } } ``` 上述代码中,我们创建了一个名为 `MyController` 的类,并使用 `@Controller` 注解将其标记为一个控制器。在 `MyController` 类中,我们定义了一个 `RequestMapping` 注解,它将 `/hello` 路径映射到一个 `sayHello()` 方法,并返回一个 ModelAndView 对象,其中包含一个名为 `message` 的字符串属性,其值为 "Hello, world!"。 总之,`@Controller` 是一个 Spring Web MVC 注解,主要用于标记一个类作为控制器,并将其扫描到 Spring 容器中。通过与 `@RequestMapping` 注解一起使用,可以处理 HTTP 请求并返回响应,通常用于创建传统的 Web 应用程序。和 `@RestController` 注解不同, `@Controller` 注解需要在每个处理请求的方法上添加 `@ResponseBody` 注解才能将返回值转换为 JSON 或 XML 格式的数据返回给客户端。