SpringMVC中常用注解与使用方法详解

 更新时间:2021年05月10日 10:42:49   作者:小小张自由—>张有博  
这篇文章主要介绍了SpringMVC中常用注解与使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

MVC简介

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。

Model(模型): 通常指的就是我们的数据模型。作用一般情况下用于封装数据。

View(视图): 通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。 通常视图是依据模型数据创建的。

Controller(控制器): 是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

SpringMVC简介

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web

应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架。

SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,已成为最优秀的 MVC 框架。

SpringMVC中的常用注解

@GetMapping

作用:用于建立请求URL和处理请求方法之间的对应关系

可以出现在类上,请求URL的第一级访问目录

可以出现在方法上,请求URL的第二级访问目录

value:用于指定请求的URL。它和path属性的作用是一样的

method:用于指定请求的方式

params:用于指定限制请求参数的条件

@Controller
//@RequestMapping("SpringMVC/")
public class HelloController {
 
    //请求方法为get  请求参数必须有username
    @RequestMapping(value = "/hello",method = RequestMethod.GET,params = {"username"})
    //@RequestMapping("/hello")
    public String sayHello(){
        System.out.println("SpringMVC hello~~~");
        return "success";
    }
 
}

@RequestParam

作用:把请求中指定名称的参数给控制器中的形参赋值

value:请求参数的名称

required:请求参数中必须提供此参数。默认值:true,表示必须提供,如果不提供就报错。

@RequestMapping("/testRequestParam")
    //RequestParam --更名  
    // 属性  value=别名 required=必须含有的参数
    public String testRequestParam(@RequestParam(value = "username") String  name){
        System.out.printf(name);
        System.out.println("testRequestParam执行了~~~");
        return "success";
    }

@RequestBody

作用:用于获取请求体内容。直接使用得到key=value&key=vaule...结构的数据。get请求方式不适用

required:是否必须有请求体。当取值为true时,get请求会报错。如果取值为false,get请求得到是null。

 @RequestMapping("/testRequestBody")
    //RequestBody 获取请求体中的内容  如:username=benshan&password=98989&money=200
    public String testRequestBody(@RequestBody String body){
        System.out.println("testRequestBody执行了~~~");
        System.out.println(body);
        return "success";
    }

@PathVariable

作用:用于绑定URL中的占位符。url中有/delete/{id},{id}就是占位符。

@RequestMapping("/testPathVariable/{id}")
    //PathVariable使用Restful风格,结构清晰,拓展方便
    public String testPathVariable(@PathVariable(value = "id") String id){
        System.out.println("testPathVariable~~~");
        System.out.println(id);
        return "success";
    }

@RequestHeader

作用:用于获取请求消息头

value 提供消息头名称

required:是否必须有此消息头

 @RequestMapping("/testRequestHeader")
    //testRequestHeader获取请求头的值
    public String testRequestHeader(@RequestHeader(value = "Accept") String header){
        System.out.println("testRequestHeader~~~");
        System.out.println(header);
        return "success";
    }

@CookieValue

作用:用于把指定cookie名称的值传入控制器方法参数

value:指定cookie的名称

required:是否必须有此cookie

@RequestMapping("/testCookieValue")
    //testRequestHeader获取请求头的值
    public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookie){
        System.out.println("testCookieValue~~~");
        System.out.println(cookie);
        return "success";
    }

@ModelAttribute

作用:可以修饰方法和参数。出现在方法上,表示当前方法会在控制器的方法执行之前执行,先执行。出现在参数上,获取指定的数据给参数赋值

value 用于获取数据的key

@RequestMapping("/testModelAttribute")
    public String testModelAttribute(){
        System.out.println("testModelAttribute~~~");
        return "success";
    }
    @ModelAttribute
    //在控制器执行之前  执行
    public void showUser(){
        System.out.println("showUser执行了~~~");
    }

@SessionAttributes

作用:用于多次执行控制器方法间的参数共享

value 用于指定存入的属性名称

type:用于指定存入的数据类型

新注解

@RequestMapping 和 @GetMapping @PostMapping 区别

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

到此这篇关于SpringMVC中常用注解与使用方法详解的文章就介绍到这了,更多相关SpringMVC注解与使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Jmeter中正则表达式提取器使用详解

    Jmeter中正则表达式提取器使用详解

    本文主要介绍了Jmeter中正则表达式提取器使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Jenkins集成SonarQube的方法详解

    Jenkins集成SonarQube的方法详解

    这篇文章主要介绍了Jenkins集成SonarQube的方法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法示例

    Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法示例

    这篇文章主要介绍了Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法,结合实例形式详细分析了Java使用BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类进行数值运算与日期运算相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • SpringBoot开发技巧之如何处理跨域请求CORS

    SpringBoot开发技巧之如何处理跨域请求CORS

    CORS(Cross-Origin Resource Sharing)"跨域资源共享",是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本站内的资源限制
    2021-10-10
  • 详解Mybatis注解写法(附10余个常用例子)

    详解Mybatis注解写法(附10余个常用例子)

    这篇文章主要介绍了详解Mybatis注解写法(附10余个常用例子),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 使用Gradle做Java代码质量检查的方法示例

    使用Gradle做Java代码质量检查的方法示例

    这篇文章主要介绍了使用Gradle做Java代码质量检查的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Spring Boot 中使用cache缓存的方法

    Spring Boot 中使用cache缓存的方法

    Spring Cache是Spring针对Spring应用,给出的一整套应用缓存解决方案。下面小编给大家带来了Spring Boot 中使用cache缓存的方法,感兴趣的朋友参考下吧
    2018-01-01
  • SpringBoot和Swagger结合提高API开发效率

    SpringBoot和Swagger结合提高API开发效率

    这篇文章主要介绍了SpringBoot和Swagger结合提高API开发效率的相关资料,需要的朋友可以参考下
    2017-09-09
  • Spring AOP之@Around,@AfterReturning使用、切不进去的解决方案

    Spring AOP之@Around,@AfterReturning使用、切不进去的解决方案

    这篇文章主要介绍了Spring AOP之@Around,@AfterReturning使用、切不进去的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java线程间通信的通俗解释及代码示例

    java线程间通信的通俗解释及代码示例

    这篇文章主要介绍了java线程间通信的通俗解释,介绍了线程通信中的几个相关概念,然后分享了线程通信的实现方式及代码示例,具有一定参考价值 ,需要的朋友可以了解下。
    2017-11-11

最新评论