控制器方法执行流程、返回值处理

文章详细阐述了SpringMVC中控制器方法的执行流程,包括获取Bean和方法、数据绑定、模型数据存储。对象绑定过程涉及创建对象、赋值及存入容器。还讨论了返回值处理器的角色,特别是如何根据请求和响应类型进行数据转换。同时提到了@ModelAttribute注解的使用以及@ControllerAdvice的两个功能:自定义类型转换和模型数据补充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制器方法执行流程

 1.获取bean和方法

2.获取databinderfactroy对象并且创建databinder

3.获取参数名的解析器

4.解析参数

5.把模型数据存在容器里

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

对象绑定过程:

先创建一个空的对象

然后把解析出来的数据赋值给对象

最后把模型对象存入容器里(containner)

对象名称如果指定

就用指定的 没有就用类型名

会调用标注了@ModelAttribute的方法把 把方法的返回值存入container容器里。若指定名字用指定的,没有就用返回值类型作为名字(分为全局和局部)

 

调用这个方法的时候会为containner补充容模型

返回值处理器

整合后的返回值处理器👇

 这个常见

 对于他的处理

 处理 

这个没有model  字符串内容就当作视图的名字 

 试图解析没有名字         用test3路径映射过去 会生成一个默认的视图名(modelandview 必须得有一个视图名)

与test3区别就是省略的ModelAttribute注解

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

 这三种方法本身就代表响应不用管视图渲染了

对应的返回值处理器

 是否已经处理(真) 就不会走视图渲染的流程了

源码👇

 判断一下内部是否为 true 是的话就跳过渲染 

 

1.响应的全部、

2.响应头

3.jason

MessageConverter

消息转换器

类似这个把jason数据格式转换为java对象

把java转换为jason

把对象转换为jason 

把对象转换成xml

把jason转换为对象

既能返回XML又能返回jason无其他就按照顺序

如果request要求 就按request

如果response要求 就按response

同时也按response

@ControllerAdvice

1.@initbinder-》自定义类型转换器

2.@ModelAttribute-》返回结果补充为模型数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值