SpringMVC知识梳理

本文深入介绍了MVC设计模式,特别是SpringMVC框架的工作原理及其组件,包括DispatcherServlet、HandlerMapping等,并探讨了其优缺点。

MVC是一种使用MVC设计创建Web应用程序的模式.

Model—表示应用程序的核心,(比如数据库记录列表) View—显示数据(数据库记录) Controller–处理输入(写入数据库记录)

常用的MVC框架有Struts和SpringMVC
SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口.SpringMVC在数据绑定,视图解析,本地化处理及静态资源处理上有很多不俗的表现.它在框架设计,扩展性,灵活性等方面全面超越了Struts,Webwork等MVC框架.

MVC模式的优缺点

优点:
耦合性低
重用性高
生命周期成本低
部署快
可维护性高
有利软件工程化管理
缺点:
没有明确的定义
不适合小型,中等规模的应用程序
增加系统结构和实现的复杂性
视图与控制器间的连接过于紧密
视图对模型数据的低效率访问
一般高级的界面工具或构造器不支持模式
这里写图片描述
DispatcherServlet 前端控制器 :接收request,进行response
HandlerMapping 处理器映射器:根据URL查找Handler (可以通过xml配置方式,注解方式)
HandlerAdapter 处理器适配器:根据特定规则去执行Handler,编写Handler时需要按照HandlerAdapter的要求去编写.
Handler 处理器(后端控制器):常用注解方式开发.
Handler 处理器执行后结果是ModelAndView,具体开发时Handler返回方法值类型包括:ModelAndView、String(逻辑视图名)、void(通过在Handler形参中添加request和response,类似原始 servlet开发方式,注意:可以通过指定response响应的结果类型实现json数据输出)
View Resolver视图解析器:根据逻辑视图名生成真正的视图(在springmvc中使用View对象表示)
View视图:jsp页面,仅是数据展示,没有业务逻辑。




@controller 注解必须要加,作用表示类是一个Handler处理器.
@requestMapping注解必须要加,作用:
1,对url和Handler的方法进行映射.
2,可以窄化请求映射,设置Handler的很路径,url就是根路径+子路径的请求方式.
3,可以限制http的请求方式.
映射成功后,SpringMVC生成一个Handler对象,对象中只包含一个映射成功的method.
注解开发中参数的绑定:
将request请求过来的key/value数据,通过转换,将key/value串转成形参,将转换后的结果传给形参.(整个参数的绑定过程)
SpringMVC所支持的参数绑定:
1,默认支持很多类型:HttpServletRequest,reponse,session,model/modelMap(将模型数据填充到Request域)
2,支持简单数据类型,字符串,整型,日期等.
—-只要保证request请求的参数名和形参名称一致,自动绑定成功.
—-如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。
3,支持POJO类型
—-只要保证request请求的参数名称和POJO中的属性名一致,自动将request请求的参数设置到POJO属性中 .
4,包装类型POJO参数绑定
—第一种方法:在形参中添加HttpServletRequest request参数,通过request接收查询条件参数。
—第二种方法:在形参中让包装类型的pojo接收查询条件参数。
5,集合类型参数绑定
数组绑定:方法形参使用数组接收页面请求的多个参数
list绑定:使用List接收页面提交的批量数据,通过包装pojo接收,在包装pojo中定义list属性
map绑定:在包装类中定义Map对象,并添加get/set方法,action使用包装对象接收
日期类型绑定自定义:
定义的Converter<源类型,目标类型>接口实现类,比如:Converter(String,Data)表示:将请求的日期数据串转成java中的日期类型。

SpringMVC注解和Spring注解

1,@Controller @RequestMapping是属于SpringMVC的,其他注解是属于Spring的,SpringMVC相当于Struts里面的action
2,Spring文件里面的配置是自动注解service和dao等,MVC文件里面的自动扫描是扫描controller
3,一般SpringMVC的注解只会出现在控制层,类似于Struts2的action,而Spring的注解一般都是自动注入的,标识仓储,管理事务的作用.
4,Spring其实就是联系Service和dao层的,简单来说就是一个粘合剂,所以在Service和Dao的注解都是Spring的
5,SpringMVC其实就是控制器的一个框架,相当于Struts2里面的action,那么在action里面的注释都是SpringMVC的.

内容概要:本文围绕新一代传感器产品在汽车电子电气架构中的关键作用展开分析,重点探讨了智能汽车向高阶智能化演进背景下,传统传感器无法满足感知需求的问题。文章系统阐述了自动驾驶、智能座舱、电动化与网联化三大趋势对传感器技术提出的更高要求,并深入剖析了激光雷达、4D毫米波雷达和3D-ToF摄像头三类核心新型传感器的技术原理、性能优势与现存短板。激光雷达凭借高精度三维点云成为高阶智驾的“眼睛”,4D毫米波雷达通过增加高度维度提升环境感知能力,3D-ToF摄像头则在智能座舱中实现人体姿态识别与交互功能。文章还指出传感器正从单一数据采集向智能决策升级,强调车规级可靠性、多模态融合与成本控制是未来发展方向。; 适合人群:从事汽车电子、智能驾驶、传感器研发等相关领域的工程师和技术管理人员,具备一定专业背景的研发人员;; 使用场景及目标:①理解新一代传感器在智能汽车系统中的定位与技术差异;②掌握激光雷达、4D毫米波雷达、3D-ToF摄像头的核心参数、应用场景及选型依据;③为智能驾驶感知层设计、多传感器融合方案提供理论支持与技术参考; 阅读建议:建议结合实际项目需求对比各类传感器性能指标,关注其在复杂工况下的鲁棒性表现,并重视传感器与整车系统的集成适配问题,同时跟踪芯片化、固态化等技术演进趋势。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值