Spring MVC中@Controller注解详解
2023-03-28 17:41:10
在Java在框架中,注释的作用是注入属性。@Controler注释作为Spring MVC框架中最重要的注释是我们的学习Spring MVC框架必须征服的堡垒。下面我们的全文将围绕Spring @Controller在MVC中注释以主题展开。
首先,我们必须清楚@Controller注解声明该类为Controler在SpringMVC中。为了先对Controller有一个初步的印象,下面定义一个简单的Controler:
@Controller
public class MyController {
@RequestMapping("/showView")
public ModelAndView showView() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("viewName");
modelAndView.addObject(" 需要放到 model 属性名称在中间 ", " 对应的属性值是一个对象 ");
return modelAndView;
}
}
在上述示例中,@controller标记在类Mycontroler上,因此类Mycontroler是SpringMVC Controller对象,然后使用@RequestMapping(“/showView”)在Controller方法上标记,表示请求/showView.do访问Mycontroller的showview方法,返回包括model和view在内的modelandview对象。
在SpringMVC Controler Dispatcherveter负责处理 分发请求,在业务处理层处理后,将用户请求的数据封装成Model ,然然后把这个Model放在一边 返回到相应的Vieww 进行展示。SpringMVC Controlerer提供了一个非常简单的定义 你不需要继承特定的类别或实现特定的接口,只需要使用它@Controller 标记Controller ,然后使用@RequestMapping 和@RequestParam 一些注释用于定义URLL 请求和controler 方法之间的映射,这样的Controler 它可以被外界访问。此外,Controller Httpservetrestest不会直接依赖 Httpservletresponsensensponse Httpservlettttetetet 通过Controler,对象可以使用 灵活获取方法参数。
@Controller一般情况下用于在一个类上标记,并使用它标记的类别实际上就是一个SpringMVC controller对象。分发处理器将扫描使用注释类的方法,并检查该方法是否使用@RequestMapping 注解。@Controller 它只定义了一个控制器类,并使用它@RequestMapping 注释方法是真正处理请求的处理器。仅仅使用@controller标记在一个类别中并不能真正说它是SpringMVC 一个控制器类别,因为Spring此时还不知道。为了完成Spring对@Controller 标记类的认知,在这个时候,我们需要把这个控制器交给我们Spring 管理有两种方式:
1.在SpringMVC Mycontroler定义在配置文件中 的bean 对象。
2.在SpringMVC Spring在配置文件中被告知 去哪里找标记为@Controller Controler 控制器。
< context:component-scan base-package = "com.host.app.web" />///路径写在controller的上层(扫描包详见下面的分析)
事实上,这篇文章只是在最简单的层面上Spring MVC中@Controller注释实际上是作为Spring进行的 MVC框架中最常见的重要注释,@Controller的分析和理解离不开与其他注释的联系。想知道其他的Spring 欢迎观看MVC注释的知识和用法Spring MVC视频课程。