SpringMVC结构简介及常用注解汇总

 更新时间:2021年03月23日 09:55:49   作者:柠檬时间  
这篇文章主要介绍了SpringMVC结构简介及常用注解汇总,帮助大家更好的理解和学习使用SpringMVC,感兴趣的朋友可以了解下

MVC结构简介

Model(模型):数据模型,提供要展示的数据,因此包含数据和行为。现在一般分离为数据层Dao和服务层Service,提供了模型数据查询和模型数据的状态更新等功能。
View(视图):负责进行模型的展示,一般指用户界面。
Controller(控制器):接受用户请求,并委托模型进行处理(状态改变),处理完返回模型数据给视图,交由视图进行展示。

SpringMVC简介

SpringMVC是SpringFramework的一部分,是Java实现MVC的轻量级Web框架。
Spring的web框架围绕DispatcherServlet调度Servlet进行设计,DispatcherServlet的作用是将请求分发到不同的处理控制器Controller。
SpringMVC与Spring无缝集成(使用SpringIoc和Aop),使用约定优于配置,能够进行简单junit测试,支持Restful风格,异常处理,数据映射,拦截器等等。

SpringMVC执行流程

  • 用户发出请求,DispatcherServlet前置控制器接收并拦截请求
  • HandlerMapping处理器映射根据DispatcherServlet给予请求url查找handler
  • HandlerExecution表示具体的Handler,其主要作用是根据url查找对应控制器,将解析后的信息传递给DispatcherServlet
  • DispatcherServlet根据解析后的信息交由HandlerAdapter
  • HandlerAdapter按照信息把处理交予对应的Controller执行
  • Controller处理过后把处理信息如ModelAndView交还HandlerAdapter,HandlerAdapter再把视图逻辑或模型交还DispatcherServlet
  • DispatcherSerlvet再调用视图解析器ViewResovler对逻辑视图进行解析,解析过后再将最终视图结果呈现给用户

常用注解

1. @Controller

@Controller注解的控制器负责处理DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,再将该Model返回给对应的View进行展示。

2. @ResponseBody

@ResponseBody注解用于将Controller的方法返回的对象根据Http Request Header的Accept内容,通过适当的HttpMessageConverter转换为指定格式后,写入Response对象的body数据区。

3. @RestController

@Controller和@ResponseBody相加的作用。

4. @RequestMapping

@RequestMapping用于处理请求地址映射的注解,用于类或方法上。用于类上,表示类的所有响应请求的方法都是以该地址作为父路径。
@RequestMappping的常用参数是value和method,分别表示请求url,请求类型。method有GET,POST,PUT,DELETE四种选择,http只支持GET和POST,但SpringMVC适配了另外两种,在使用PUT和DELETE请求时,后台会将其转换成POST。

5. @PathVariable

@PathVariable能够映射url绑定的占位符,因此,我们可以把url中的{xxx}占位符绑定到操作方法的参数@PathVariable{"xxx"}中,增加了restful url构造的灵活性。

6. @RequestParam

@RequestParam用于处理请求参数,使用@PathVariable可以获取请求参数,这是一个Rest风格的URL,使用炸占位符的方式携带一个参数,但是它并不是真正意义的请求参数。
@RequestParam标识的参数需要url请求时一定携带,要不然就报错,除非@RequestParam的参数required设为false。

7. @RequestHeader

@RequestHeader和@RequestParam的用法相同,它能够获取请求头的信息并注入目标方法的参数中

8. @RequestHeader

@CookieValue也和和@RequestParam的用法相同,它是用来获取cookie值的,它能够将获取cookie值并注入目标方法的参数中

以上就是SpringMVC结构简介及常用注解汇总的详细内容,更多关于SpringMVC结构和常用注解的资料请关注脚本之家其它相关文章!

相关文章

  • java随机生成一个名字和对应拼音的方法

    java随机生成一个名字和对应拼音的方法

    这篇文章主要介绍了java随机生成一个名字和对应拼音的方法,涉及java针对数组及随机数操作的相关技巧,需要的朋友可以参考下
    2015-07-07
  • 启动异常invalid constant type:15的解决方案

    启动异常invalid constant type:15的解决方案

    今天小编就为大家分享一篇关于启动异常invalid constant type:15的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 基于Java实现遍历文件目录并去除中文文件名

    基于Java实现遍历文件目录并去除中文文件名

    这篇文章主要为大家详细介绍了如何使用Java实现遍历文件目录并去除中文文件名,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-03-03
  • Java网络编程实现的简单端口扫描器示例

    Java网络编程实现的简单端口扫描器示例

    这篇文章主要介绍了Java网络编程实现的简单端口扫描器,涉及Java网络编程Socket组建、swing组建及多线程相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Spring JDBCTemplate原理及使用实例

    Spring JDBCTemplate原理及使用实例

    这篇文章主要介绍了Spring JDBCTemplate原理及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • myBatis的mapper映射文件之批量处理方式

    myBatis的mapper映射文件之批量处理方式

    这篇文章主要介绍了myBatis的mapper映射文件之批量处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 详解Java如何简化条件表达式

    详解Java如何简化条件表达式

    在复杂的实际业务中,往往会出现各种嵌套的条件判断逻辑。随着需求的增加,条件逻辑会变得越来越复杂。面对这种情况,简化判断逻辑就是不得不做的事情,下面为大家介绍几种方法
    2022-06-06
  • Java后端实现异步编程的9种方式总结

    Java后端实现异步编程的9种方式总结

    我们日常开发的时候,经常说到异步编程,比如说,在注册接口,我们在用户注册成功时,用异步发送邮件通知用户,那么实现异步编程一共有多少种方式呢,下面小编就来简单讲讲吧
    2025-03-03
  • java使用smortupload上传和下载文件

    java使用smortupload上传和下载文件

    这篇文章主要介绍了java使用smortupload上传和下载文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Spring Boot整合Spring Data JPA过程解析

    Spring Boot整合Spring Data JPA过程解析

    这篇文章主要介绍了Spring Boot整合Spring Data JPA过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论