SpringMVC常用注解整理

《点云处理算法》——GROR配准 GROR点云配准 阅读详情

一、组件型注解:

  • @Component 在类定义之前添加@Component注解,它会被spring容器识别,并转为bean。
  • @Repository 对Dao实现类进行注解, (特殊的@Component)
  • @Service 用于对业务逻辑层进行注解, (特殊的@Component)
  • @Controller 用于控制层注解 , (特殊的@Component)

以上四种注解都是注解在类上的,被注解的类将被spring初始化为bean对象,然后统一管理。
这里写图片描述

二、请求和参数型注解:

1.@RequestMapping

用于处理请求地址映射,可以作用于类和方法上。

  • value:定义request请求的映射地址。
  • method:定义地request址请求的方式,包括【GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE】,默认接受GET请求,如果请求方式和定义的方式不一样,则请求无法成功。
  • params:定义request请求中必须包含的参数值。
  • headers:定义request请求中必须包含某些指定的请求头,如:RequestMapping(value = “/something”, headers = “content-type=text/*”)说明请求中必须要包含”text/html”, “text/plain”这中类型的Content-type头,才是一个匹配的请求。
  • consumes:定义请求提交内容的类型。
  • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
@RequestMapping(value="/requestTest.do",params = {"name=sdf"},headers = {"Accept-Encoding=gzip, deflate, br"},method = RequestMethod.GET)
public String getIndex(){
    System.out.println("请求成功");
    return "index";
}

上面代码表示请求的方式为GET请求,请求参数必须包含name=sdf这一参数,然后请求头中必须有Accept-Encoding=gzip, deflate, br这个类型头。
这里写图片描述
这样通过注解就能对一个请求进行约束了。

2.@RequestParam

用于获取传入参数的值。

  • value:参数的名称。
  • required:定义该传入参数是否必须,默认为true,(和@RequestMapping的params属性有点类似)。
@RequestMapping("/requestParams1.do")
public String requestParams1(@RequestParam(required = false) String name){
    System.out.println("name = "+name);
    return "index";
}
@RequestMapping("/requestParams2.do")
public String requestParams2(@RequestParam(value = "name",required = false) String names){
    System.out.println("name = "+names);
    return "index";
}

两种请入参方式是一样的,显示声明value的名称时,入参参数名和value一样,没有显示声明的话,像第一种方式声明的,入参参数名和函数参数变量名一样。

3.@PathViriable

用于定义路径参数值。

  • value:参数的名称。
  • required:定义传入参数是否为必须值。
@RequestMapping("/{myname}/pathVariable2.do")
public String pathVariable2(@PathVariable(value = "myname") String name){
    System.out.println("myname = "+name);
    return "index";
}

这个路径声明了{myname}作为路径参数,那么这一段路径将为任意值,@PathVariable将可以根据value获取路径的值。

4.@ResponseBody

作用于方法上,可以将整个返回结果以某种格式返回,如json或xml格式。

@RequestMapping("/{myname}/pathVariable2.do")
@ResponseBody
public String pathVariable2(@PathVariable(value = "myname") String name){
    System.out.println("myname = "+name);
    return "index";
 }

和上一段例子一样,只是添加了@ResponseBody标签,然后返回结果为:
这里写图片描述
它返回的不是一个页面,而是把字符串“index”直接在页面打印出来了,这其实和如下代码时类似的。

PrintWriter out = response.getWriter();
out.print("index");
out.flush();

5.@CookieValue:用于获取请求的Cookie值

@RequestMapping("/requestParams.do")
public String requestParams(@CookieValue("JSESSIONID") String cookie){
    return "index";
}

6.@ModelAttribute

用于把参数保存到model中,可以注解方法或参数,注解在方法上的时候,该方法将在处理器方法执行之前执行,然后把返回的对象存放在 session(前提时要有@SessionAttributes注解) 或模型属性中

@ModelAttribute(“attributeName”) 在标记方法的时候指定,若未指定,则使用返回类型的类名称(首字母小写)作为属性名称。

@ModelAttribute("user")
public UserEntity getUser(){
    UserEntity userEntityr = new UserEntity();
    userEntityr.setUsername("asdf");
    return userEntityr;
}

@RequestMapping("/modelTest.do")
public String getUsers(@ModelAttribute("user") UserEntity user){
    System.out.println(user.getUsername());
    return "/index";
}

如上代码中,使用了@ModelAttribute(“user”)注解,在执行控制器前执行,然后将生成一个名称为user的model数据,在控制器中我们通过注解在参数上的@ModelAttribute获取参数,然后将model应用到控制器中,在jsp页面中我们同样可以使用它

<body>
    ${user.username}
</body>

7.@SessionAttributes

默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中。配合@ModelAttribute(“user”)使用的时候,会将对应的名称的model值存到session中

@Controller
@RequestMapping("/test")
@SessionAttributes(value = {"user","test1"})
public class LoginController{
    @ModelAttribute("user")
    public UserEntity getUser(){
        UserEntity userEntityr = new UserEntity();
        userEntityr.setUsername("asdf");
        return userEntityr;
    }

    @RequestMapping("/modelTest.do")
    public String getUsers(@ModelAttribute("user") UserEntity user ,HttpSession session){
        System.out.println(user.getUsername());
        System.out.println(session.getAttribute("user"));
        return "/index";
    }
}

结合上一个例子的代码,加了@SessionAttributes注解,然后请求了两次,第一次session中不存在属性名为user的值,第二次请求的时候发现session中就有了,这是因为第一次请求时,model数据还未保存到session中,请求结束返回的时候才保存,在第二次请求的时候已经可以获取上一次的model了,
这里写图片描述
注意:@ModelAttribute(“user”) UserEntity user获取注解内容的时候,会先查询session中是否有对应的属性值,没有才去查询Model。


转载自《SpringMVC常用注解整理》

强化学习:Distributed PPO (DPPO) 学习笔记 DPPO = Distributed + Proximal Policy Optimization Distributed:多个智能体并行训练 Proximal:限制策略更新幅度,确保稳定性 Policy Optimization:基于策略梯度的优化方法 核心思想:多个智能体并行探索环境,共享经验,通过裁剪策略更新确保训练稳定 阅读详情

相关推荐

遥感图像融合实战:5分钟搞懂全色与多光谱图像如何提升分辨率(附Python代码)

本文通过实战案例,详细解析了如何利用全色锐化技术融合全色与多光谱遥感图像,以提升图像分辨率。文章深入浅出地介绍了核心概念、环境配置、经典GS融合算法的Python代码实现,并对比了不同算法的优劣,最后提供了效果评估方法与实战陷阱分析,帮助读者快速掌握遥感图像融合的关键技术。

weixin_29041195的博客 394

spring

标题springmvc常用注解 一、组件型注解: @Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。 @Repository 对Dao实现类进行注解 (特殊的@Component) @Service 用于对业务逻辑层进行注解, (特殊的@Component) @Controller 用于控制层注解 , (特殊的@Component) 以上四...

Mr_wxq的博客 230

【AI Infra】【RLHF框架】VeRL中WorkerGroup与Ray资源调度的协同机制剖析

本文深入剖析了VeRL框架中WorkerGroup与Ray资源调度的协同机制。通过解析Ray Placement Group的资源抽象和VeRL的RayResourcePool封装,详细阐述了WorkerGroup如何与底层资源精确绑定,并实现RLHF训练中异构、多阶段任务的灵活资源分配与动态调整,为大规模分布式强化学习训练提供了高效解决方案。

weixin_29204205的博客 389

SpringMVC框架

SpringMVC框架的工作流程和常用注解 1、用户向服务器发送请求,请求被SpringMVC的前端控制器DispatcherServlet截获。 2、DispatcherServlet对请求的URL(统一资源定位符)进行解析,得到URI(请求资源标识符),然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象,包括Handler对象以及Handler对象对...

SeniorJavaEngineer的博客 567

VTK实战笔记(1)在win11搭建VTK-9.4.2 + qt5.15.2 + VS2019_x64开发环境

Visual Studio 2019 + qt5.15.2 + vtk9.4.2

心向阳光,斗志昂扬! 974

DoDAF2.0与UAF1.0与UPDM与IBD与Rhapsody与MagicDraw与SysML

参考:fr=ge_alafr=ge_ala。

计算机辅助工程 1417

@Requestparam、@Pathviriable和@RequestBody区别

@Requestparam、@Pathviriable和@RequestBody区别

菜鸟博客 615

机器视觉中的特征提取【0】:什么是特征提取,特征提取有什么作用?

1.什么是特征提取? 特征提取的英文叫做feature extractor,它是将一些原始的输入的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。简单来说有两个作用:减少数据维度,整理已有的数据特征。 这里我给一个例子来解释特征提取的第二个作用。那就是我们很熟悉的奖学金评定,我们知道学生的文化课成绩,道德分数,以及各种其他竞赛的成绩。摆在奖学金评定委员会面前的任务就是如何知道一个学生是否...

月下花弄影 5万+

Spring相关注解

1.SpringMVC中的Bean是线程安全的吗? 说出你的解决方案? spring 中的 bean 默认是单例模式,spring 框架并没有对单例 bean 进行多线程的封装处理。 实际上大部分时候 spring bean 无状态的(比如 dao 类),所有某种程度上来说 bean 也是安全的,但如果 bean 有状态的话(比如 view model 对象),那就要开发者自己去保证线程安全了,最简单的就是改变 bean 的作用域,把“singleton”变更为“prototype”,这样请求 bean 相

xx1122336的博客 201

手把手教你学Simulink--双足机器人分数阶PID控制仿真

分数阶PID(Fractional-order PID, FOPID)控制是一种先进的控制策略,它扩展了传统的整数阶PID控制器的概念。FOPID控制器允许积分和微分项的阶次不是严格的整数,而是可以是任意实数,这为系统提供了更多的设计自由度,并可能带来更好的性能。在双足机器人控制中,分数阶PID控制可以用于改善机器人的平衡控制、轨迹跟踪等任务的性能。下面我们将详细介绍如何使用Simulink进行基于分数阶PID控制方法的双足机器人仿真研究。

MHD0815的博客 879

灰度图像采集显示

灰度图像采集显示 在FPGA内部,采集到的视频数据线通过一个FIFO,将原本与25MHZ时钟同步的数据流转换到FPGA内部50MHZ的时钟。接着将这个数据再送入写DDR3缓存的异步FIFO中,这个FIFO中的数据一旦达到一定数量,就会被写入DDR3中。于此同时,使用另一异步FIFO缓存从DDR3读出的图像数据;LCD驱动模块不断地发出读图像数据请求给到这个FIFO,从中读取图像数据并送给VGA显示器进行实时图像的显示。 ...

小柚子的博客 484

@PathVariable注解的使用及源码解析

PathVariable 注解是我们进行JavaEE开发,最常见的几个注解之一,这篇博文我们以案例和源码相结合,帮助大家更好的了解@PathVariable 注解。

好记性不如烂笔头 3106

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SpringMvc常用注解整理

SpringMvc常用注解整理用于配置控制器的注解@Controller@RestController用于提供方法映射的注解@RequestMapping@GetMapping @PostMapping @PutMapping @DeleteMapping增强控制器方法的注解@ModelAttribute@ExceptionHandler@InitBinder给控制器方法提供通知的注解@ControllerAdive@RestControllerAdive用于绑定控制器方法参数的注解@RequestPar

学无止境 1635

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

常用SpringMVC注解整理

SpringMVC常用注解RequestParamRequestBodyPathVaribaleRequestHeaderCookieValueModelAttributeSessionAttribute 最近在学习SpringMVC,打算在学完之后写一两个项目再出他的整体思想浅谈的博客,这里记录一下学习过程中预计以后会用到的注解,和Spring一样,但是由于更换硬盘后,某些资料没有很好的备份丢失了,Spring的注解集合也在其中,不够这并不妨碍之后的编写,方便复习,给你看的同时,也给我自己看。 Reque

weixin_43882986的博客 220

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SpringMVC中常用注解整理

SpringMVC SpringMVC是springframework的后续产品,已经融合在Spring Web Flow里面。Spring框架提供了构建web应用的全功能MVC模块,使用spring可插入的MVC架构,从而使spring进行web开发。 通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技

编程小白养成手记 345

SpringMVC常用注解及其作用整理

1. @Controller 该注解用于标记在一个类上,使用它标记的类就是一个SpringMVC的Controller对象。用于分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解。@Controller 注解只是定义了一个控制器类,而使用 @RequstMapping 注解的方法才是真正处理请求的处理器。 @Contoller 标记在一个类上还不能真正意义上说它就是SpringMVC的一个控制器,还需要将其交给Spring容...

伱糸淂忄 2528

【SpringMVC笔记整理九】常用注解总结

本篇博客主要是对 Spring MVC 中常用的注解进行总结。

小异常的博客 450

SpringMVC常用注解吐血整理

SpringMVC常用注解整理

双非二本自学到互联网公司的成长经历,有故事,有干货。 229

关于springmvc中常用的注解,自己也整理一下

1.@Controller 在springMVC中@controller主要用在控制层的类上,之前只知道用注解开发的时候必须加一个@controller ,今天看了别的大佬整理的才知道为什么这么用,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个model,然后把该model返回给对应的view进行展示。 ...

weixin_30538029的博客 86

requestmapping注解作用_SpringMVC常用注解整理

一、组件型注解:@Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。@Repository 对Dao实现类进行注解 (特殊的@Component)@Service 用于对业务逻辑层进行注解,(特殊的@Component)@Controller 用于控制层注解,(特殊的@Component) 以上四种注解都是注解在类上的,被注解...

weixin_39915815的博客 438

SpringMVC 常用注解整理

项目中使用到的Spring MVC常用注解总结:

ChinaCR07的博客 625
上一篇: SpringMVC之静态资源映射
下一篇: SpringBoot之Mybatis
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值