Spring MVC 常用注解

  Spring MVC怎么使用在Spring MVC快速搭建初体验进行了体验,那么Spring MVC就是什么?不得不先说下什么是MVC及其与三层架构是什么关系。

            

   Spring MVC与普通的Servelet本质区别是什么在实现一个自定义MVC中有清晰的比较

  那MVC和三层架构有什么关系呢?实际上MVC只存在三层架构的表现层。M实际上就是数据模型,是包含数据的对象;同时在Spring MVC里,有一个专门的类叫Model,用来和View之间的数据交互、传值;View值的视图页面View,包含JSP等;C当然就是控制器(@Controller标记的类)。

            

   Spring MVC常用注解:

    配置类:

      @EnableWebMVC,作用于配置类(@Configuration标记)

           

       其直接import了DelegatingWebMvcConfiguration类,进行了一些默认配置,可参考Spring高级特性之一: Aware之ApplicationContextAware - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)关于Aware介绍:

            

            

    控制类

      @Controller,Spring相关介绍中已经介绍过,但是也有区别:

      Spring MVC针对Controller提供了两个注解@Controller和@RestController。当在一个Controller类中添加了@RestController注解时,该类中所有使用了@RequestMapping的方法就会返回响应体(Response body)。如果使用的是@Controller注解,则是会将HTML部分的代码也一起返回给调用者;如果不想将HTML中部分代码一并返回,可以使用@ResponseBody来达到同样的目的。

      需要特别指出的是,在声明普通Bean的时候,使用@Component、@Service、@Repository、@Controller是同等的,因为其都组合了@Component元注解,只是在SpringMVC声明控制器Bean的时候,只能使用@Controller或者@RestController。

    @RequestMapping,url映射

      @RequestMapping注解时用来映射Web请求(访问路径和参数)、处理类和方法的。其可以使用在方法和类上,如果使用在类上,那么该类中所有注解的方法都会继承类中所声明的属性(路径)。其还有两个简化的注解@GetMapping和@PostMapping,分别处理Get和Post请求。

    @ResponseBody,响应

      参考Spring MVC参数绑定(如何接收请求参数及返回参数) - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中使用。

    @RequestBody,请求

      此注解放置在参数前,参考Spring MVC参数绑定(如何接收请求参数及返回参数) - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中使用。

    @PathVariable

      其种类接收路径参数。如/news/001,可以接收001作为参数,此注解放置在参数前。

    @RestController

      参考@Controller。

posted on 2021-11-16 17:49  池塘里洗澡的鸭子  阅读(40)  评论(0编辑  收藏  举报