1.Controller注解作用
@Controller
注释用于定义一个类为Spring的Controller(控制器)。它告诉Spring框架这个类是一个Controller类,用于处理HTTP请求并返回响应。在Spring MVC中,Controller类负责接收客户端请求,调用相应的业务逻辑处理方法(Service或DAO类)处理请求,然后返回响应给客户端。
@Controller
注释起到了以下作用:
- 标识类为Spring的Controller类,告知Spring框架这个类是用于处理请求的控制器。
- 将Controller类注册到Spring的IOC容器中,使其可以被Spring框架自动管理和调用。
- 处理请求映射和请求参数绑定,简化了请求处理的流程,提高了开发效率。
- 支持AOP和声明式事务等特性,为开发和维护提供了便利。
- 通过@Controller注释,可以方便地将控制器类和其对应的业务逻辑类进行解耦,提高了代码的模块化和可维护性
2.@Controller与@RestController的区别
可以说是Spring 4.0 引入了 @RestController 注解,以简化 RESTful Web 服务的创建。它是一种方便的注解,结合了 @Controller 和 @ResponseBody,无需使用@ResponseBody注注来注解控制器类的每个请求处理方法。
3.代码实测
运行结果:
如果把hello2的@ResponseBody去除
运行结果:
然后我把@Controller换成@RestController
运行结果: