ADAS(高级驾驶员辅助系统)

news2024/11/19 23:37:40

什么是 ADAS

  • ADAS —— 高级驾驶员辅助系统,包含一系列硬件和软件组件,自动起到驾驶员的多项作用。目前,常见的车辆 ADAS 功能包括自适应巡航控制、盲点检测、变道检测(车道偏离警告系统)、自动车道跟随和自动紧急制动、泊车

  • L0到L2称为ADAS辅助驾驶,L3及以上称为AD自动驾驶,中间为L2+

  • 是利用安装在车上的各式各样传感器(毫米波雷达、超声波雷达、单\双目摄像头以及卫星导航),在汽车行驶过程中实时感应周围的环境信息,收集数据,进行静态、动态物体的辨识、侦测与追踪,并结合导航地图数据,进行系统运算与分析,对可能发生的危险进行预警,从而预先让驾驶员察觉到可能发生的危险并采取措施,必要时ADAS直接进行对车辆的减速或刹车控制,有效增加汽车行驶安全性。

  • ADAS是自动驾驶的基础,实现无人驾驶商业化需要先推广普及ADAS。ADAS系统通常包括自适应巡航控制系统(ACC)、自动紧急制动(AEB)、盲点检测系统(BSD)、前向碰撞预警系统(FCW)、车道偏离告警(LDW)、抬头显示器(HUD)、汽车夜视系统(NVS)、智能车速控制(ISA)、智能大灯控制(AFL)、泊车辅助系统(PA)、行人检测系统(PDS)、交通信号及标志牌识别(TSR)等。

在这里插入图片描述

ADAS 级别

  • 根据国际自动机工程师学会的定义,驾驶自动化有五个级别。现在路上能看到的大部分汽车的 ADAS 功能介于 0 到 3 级之间。身处自动驾驶行业前沿的公司则在努力实现 4 级和 5 级自动驾驶。

传感器的重要性

  • ADAS 功能中最常用的三种传感器类型是相机、雷达以及激光雷达。

相机

相机适合用于与检测相关的 ADAS 任务。车辆侧边的相机可用于检测盲点。位于前方的相机可检测车道、其他车辆、路标、行人以及骑车人。相关 ADAS 检测算法一般使用传统计算机视觉和深度学习算法进行构建。相机的优势有:

  • 可提供极佳的目标检测数据
  • 成本相对较低 - 对于制造商而言,价格低意味着可以更低成本测试多种类型的相机
  • 选择颇多 - 开发人员可对鱼眼、单目和针孔等类型的相机进行测试并从中选择
  • 具备充分研究 - 相机是三类传感器中历史最悠久的,也得到了最充分的研究。

与其他传感器类型的数据相比,相机数据的缺点是不太适合用于检测与目标之间的距离。因此,ADAS 开发人员通常会将相机与雷达搭配使用。【也就是没有深度信息】

雷达

  • 雷达传感器会发射高频波,并记录波从环境中的目标上反射回来的时间。这种数据可用于计算与目标之间的距离。ADAS 中的雷达传感器通常安装于车辆前部
  • 雷达可在不同的天气条件下工作,这使其成为实现自动紧急制动和自适应巡航控制等 ADAS 功能时非常实用的传感器选项。
  • 雷达传感器数据非常适合距离检测算法,但并不太适合对检测到的目标进行分类的算法。因此,ADAS 开发人员通常将雷达与相机搭配使用。

激光雷达

  • 激光雷达(光学检测和距离测定)传感器向环境发射激光并记录信号返回的时间。返回的信号将被重构以创建显示激光雷达周遭环境的三维点云。激光雷达数据可用于计算传感器与三维点云中目标之间的距离

  • ADAS 应用中会用到两种类型的激光雷达传感器:

    • 机械(旋转)激光雷达 - 机械激光雷达安装在车辆顶部,它会在采集数据同时旋转以生成环境的三维点云地图。
    • 固态激光雷达 - 这是一种比较新型的激光雷达,没有移动部件。长远来看,固态激光雷达的速度、成本以及准确性都有望优于机械激光雷达。然而,商用传感器的设计面临安全性和检测范围方面的工程问题。

激光雷达数据可用于实现 ADAS 中的距离检测和目标分类功能。不过,与相机数据和雷达数据相比,激光雷达数据的处理需要更强的计算能力,这也给 ADAS 算法开发人员带来一些挑战。

使用仿真开发 ADAS 算法

  • 在硬件上进行测试成本高昂,所以工程师们会先使用虚拟仿真技术来测试其 ADAS 解决方案。仿真环境既可以是二维的,也可以是三维的。
  • 二维仿真可用于相机与雷达的 ADAS 算法的开发和测试。我们首先创建包含道路、行人、骑车人和其他车辆的虚拟场景。然后将我们的车辆放入场景,并将虚拟的相机和雷达传感器装载在车辆上。接下来就可以对汽车的运动进行编程,从而生成虚拟传感器数据以进行 ADAS 算法的开发和测试
  • 三维仿真建立在二维仿真的基础上,不仅支持测试相机和雷达,还可测试激光雷达。三维环境的复杂度相对较高,所以需要更强的算力。
  • 在仿真环境中完成 ADAS 算法的开发工作后,下一个阶段是硬件在环 (HIL) 测试。该阶段需要将真实汽车硬件(如真实制动系统)连接到仿真环境,以对 ADAS 算法进行测试。HIL 测试能够让我们对车辆的 ADAS 组件在现实世界中的运作情况有很好的了解。
  • 除此以外,还有驾驶员在环等其他 ADAS 测试,而车载测试则是最终的测试,该阶段将考察所有部件组合在一起时车辆的性能表现。这是成本最高的 ADAS 测试,但同时也是结果最准确的测试,它是车辆投产前必不可少的环节。

借助 MATLAB 与 Simulink 构建 ADAS 功能

MATLAB 与 Simulink 可在 ADAS 开发工作流的各个阶段提供支持:

  • 分析数据
  • 合成驾驶场景
  • 设计 ADAS 规划与控制算法
  • 设计感知算法
  • 部署算法
  • 集成和测试

分析数据

MATLAB 让您可以在 ADAS 开发过程中访问、可视化以及标注实时或记录的驾驶数据。MATLAB 还支持来自 HERE HD Live Maps、OpenStreetMap 和 Zenrin Japan Maps 的地理地图数据。这些数据经常用于 ADAS 算法开发与验证工作。

合成驾驶场景

MATLAB 支持您在虚拟场景中开发和测试 ADAS 算法,针对控制、传感器融合及运动规划算法可使用立方体模拟环境,针对感知算法则可使用虚幻引擎环境。您还可使用 RoadRunner 来设计逼真的三维场景。

设计 ADAS 规划与控制算法

MATLAB 提供许多自动驾驶参考应用,可作为自行设计 ADAS 规划和控制算法的起点。

设计感知算法

MATLAB 提供了使用相机、雷达和激光雷达数据开发感知算法的工具。您可使用计算机视觉、深度学习、雷达与激光雷达处理以及传感器融合等进行算法开发。

部署 ADAS 算法

MATLAB Coder™、Embedded Coder® 和 GPU Coder™ 等工具箱可帮助您自动生成代码,并将 ADAS 算法部署到嵌入式设备和面向服务的架构中(如 ROS 和 AUTOSAR)。

集成和测试

您可借助 Simulink 工具来集成并测试感知、规划和控制系统。使用 Requirements Toolbox™,您可以捕获和管理 ADAS 需求。您也可以使用 Simulink Test™ 以并行方式运行测试用例,并实现测试工作的自动化。

自适应巡航控制

  • 自适应巡航控制 (ACC) 设计工作的第一步是从汽车上安装的传感器采集数据。自适应巡航控制需要用到相机和雷达传感器。相机用于检测视线范围内的其他目标(车辆、行人、树木等),雷达则用于计算我方汽车与这些目标之间的距离。
  • 从传感器采集数据后,我们把重点转向 ADAS 算法开发。自适应巡航控制可分为 3 步:
    • 检测前方是否有车辆的感知算法【相机】
    • 计算与前车之间距离的雷达算法【雷达】
    • 根据测定距离调整汽车速度的控制算法。【运动控制与导航】

我们在此以 ACC 为例解释 ADAS,不过选择传感器、然后根据传感器数据设计算法是一种通用方法,适用于所有 ADAS 功能。

在车辆行驶过程中,安装在车辆前部的车距传感器(雷达/摄像头)持续扫描车辆前方道路,同时轮速传感器采集车速信号。【反馈系统】,与前车之间的距离过小时,ACC控制单元可以通过与制动防抱死系统、发动机控制系统协调动作,使车轮适当制动,并使发动机的输出功率下降,以使车辆与前方车辆始终保持安全距离。

还有通过车联网和高精度地图的使用,再配合车辆ACC和自动变速箱的预见性换挡策略,在降低油耗上面也可以实现可观的费用降低,这也是实用。

自动泊车

  • 当前泊车的功能主要有自动泊车辅助APA(L2),远程泊车辅助/遥控泊车RPA(L2+),记忆泊车HPA/MPA(L3)和自主代客泊车AVP(L4),背后对应的技术方案又可分为硬件和软件,硬件主要指的是用于感知的传感器,和用于计算的芯片

  • 参照传感器和芯片融合维度,可以划分出基础泊车、遥控泊车、融合泊车、行泊一体四个主要历程

基础泊车

APA属于基础泊车功能,在感知层面主要依靠8个安装于汽车前后的UPA超声波雷达(也称为倒车雷达),和4个安装于汽车两侧的APA超声波雷达,而芯片方面常采用泊车辅助控制器Park ECU。APA能够完成横向、垂直、斜向三种泊车动作,完全不需要人操作,但由于场景单一,使用条件苛刻,并没有流行起来。

在这里插入图片描述

遥控泊车

  • 遥控泊车RPA是在APA上的拓展,主要增加遥控部分,可使用手机APP或遥控钥匙作为遥控装置。

  • 手机APP一般通过车载蓝牙模块进行通讯,车载蓝牙模块可集成在T-BOX上或智能进入及启动系统PEPS上,而遥控钥匙与整车间可采用现有LF/RF射频通讯。
    在这里插入图片描述

融合泊车

  • 在RPA的基础上,感知层增加前后左右4颗鱼眼摄像头,可将周围图像进行畸变矫正后再拼接,实现360°环境感知,再配合车内的大屏IVI,泊车同时可实现全景环视监控的功能

  • 鱼眼摄像头一般需要AVM全景环视的控制器,可进一步与Park ECU成为一个SoC,即融合泊车ECU,作为一个单独的控制器存在(Park ECU+AVM模块)

  • 融合泊车在使用超声波传感器对周围环境进行检测的基础上,融合了环视摄像头的感知信息,使车辆的感知能力进一步增强。

  • 可实现对有车位标识线的连续多个空闲车位识别,再加上SLAM建图和定位技术,逐步进化出记忆泊车HPA、远程召唤等高阶功能

  • 而最高等级的自动代客泊车AVP,除了要实现泊入车库的功能外,还需要解决从驾驶员下车点低速行驶至库位旁的问题,因此还必须提升汽车远距离感知的能力,前视摄像头成为了最优的感知方案。

  • 为了知道汽车在哪,应该去哪里寻找停车位,除了SLAM或视觉匹配定位的方法,还需要引入停车场的高精度地图,此外,为了获取停车位是否被占用,还需要获得停车场内基础设施如摄像头、地锁等信息,这样才能规划出一条更为合理的路径,行驶到空车位处了。
    在这里插入图片描述

行泊一体

  • 从L2+功能以上,由于前视摄像头和鱼眼摄像头的加入,感知传感器开始与行车功能复用,进一步推动了在芯片层面的融合和共用,就是现在越来越火的的行泊一体方案。

  • 行泊一体符合整车电子电气架构向集中式演进的趋势,将原有各自独立的行车和泊车控制系统集成,也带来了成本降低、功耗减少、重量减轻的可能,优化了整车控制系统的复杂度

  • 需要指出的是,行泊一体并不是简单地将行车和泊车两个SoC并到一个盒子里,而是将两个SoC的功能并到一个SoC里,意味着芯片算力的提升、功耗的控制、还有支持更多外设接入等新要求,还要实现软件和算法匹配,可以看作是未来中央计算平台的前期试水。

在这里插入图片描述

全景影像监测

  • AroundViewMonitoring;AVM
  • 该系统由安装在车身前后左右的四个超广角鱼眼摄像头,同时采集车辆四周的影像,经过图像处理单元畸变还原→视角转化→图像拼接→图像增强,最终形成一幅车辆四周无缝隙的360度全景俯视图。在显示全景图的同时,也可以显示任何一方的单视图,并配合标尺线准确地定位障碍物的位置和距离。

变道检测(车道偏离警告系统)

  • 车道偏离警告系统可帮助驾驶员将车辆保持在车道上,并有助于减少道路碰撞。如果车辆开始偏离车道,这些系统会生成视听警报。车道偏离警告系统使用安装在后视镜附近的小型摄像头来识别条纹和实心车道标记。当车辆在没有适当转向信号灯的情况下开始偏离车道时,该系统会触发警报以做出反应。
  • 当车道偏离系统开启时,摄像头(一般安置在车身侧面或后视镜位置)会时刻采集行驶车道的标识线,通过图像处理获得汽车在当前车道中的位置参数。
  • 目前,各厂商所配备的车道偏离预警系统均基于视觉(摄像头)方式采集数据的基础上研发,但它们在雨雪天气或能见度不高的路面时,采集车道标识线的准确度会下降。那么为了解决这个难题,技术工程师开发了红外线传感器的采集方式,其一般安置在前保险杠两侧,并通过红外线收集信号来分析路面状况,即使在恶略环境的路面,也能识别车道标志线,便于在任何环境的路况下均能及时提醒驾驶员汽车道路偏离状态。

前方碰撞警告系统

  • 前方碰撞警告系统是车载电子系统,可在与道路上的任何其他车辆或物体发生前方碰撞时通知驾驶员。最新的碰撞警告系统适用于雷达、激光和摄像系统,并在发生任何碰撞可能性时生成音频、视觉和战术警报。这些系统测量两辆车之间的距离、角方向和相对速度。一些前方碰撞警告系统与自适应巡航控制系统集成在一起,以便在检测到前方车辆时减慢车速
  • 是警告。FCW系统本身不会采取任何制动措施去避免碰撞或控制车辆。与下面的自动紧急制动区别开来

自动紧急制动

  • Advanced/AutomaticEmergencyBraking;AEB
  • AEB是一种汽车主动安全技术,主要由3大模块构成,其中测距模块的核心包括毫米波雷达、摄像头等,它可以提供前方道路安全、准确、实时的图像和路况信息。AEB系统采用毫米波雷达测出与前车或者障碍物的距离,然后利用数据分析模块将测出的距离与警报距离、安全距离进行比较,小于警报距离时就进行警报提示,而小于安全距离时即使在驾驶员没有来得及踩制动踏板的情况下,AEB系统也会启动,使汽车自动制动,从而为安全出行保驾护航

交通标志识别系统

  • TrafficSignsRecognition;TSR
  • 错过任何交通标志都可能导致严重的交通事故。实时交通标志识别(TSR)系统不仅可以帮助驾驶员遵循交通信号,还可以帮助他们遵守交通规则。车辆中的交通标志识别系统配备了前置摄像头来检测道路标志。来自前置摄像头的实时馈送具有图像处理、计算机视觉和图像识别算法,可帮助该系统识别交通标志

智能车速控制系统

  • IntelligentSpeedAdaptation,ISA
  • 该系统能识别交通标识,并根据读取的最高限速信息控制油门,确保驾驶者在法定限速内行驶,有效避免驾驶者在无意识情况下的超速行为。

轮胎气压监测系统(TMPS)

  • 胎压是确保车辆悬架和道路安全的关键参数。轮胎压力不均匀会造成里程问题、更多排放、缩短轮胎胎面寿命,并可能导致轮胎故障,从而导致严重的道路事故。胎压监测系统是关键的ADAS系统,因为它会在任何轮胎充气不足时警告驾驶员。胎压监测系统有两种类型,间接和直接系统。间接TPMS系统测量轮胎的rpm(每分钟转数),如果以车轮为单位测量任何前所未有的转速,则系统会指示驾驶员。另一方面,直接TMPS系统是连接到每个轮胎的压力传感器,可提供每个轮胎内的实际压力读数。

夜视与行人探测

  • NightVisionSystem;NVS
  • 行人检测系统是ADAS功能,对准确性和可靠性要求很高。由于大多数与行人有关的事故发生在夜间,因此即使在能见度低的情况下,它们也会与夜视系统配合使用,以精确发挥作用。高效的夜视行人检测系统配备了热像仪和远红外传感器。红外传感器捕捉来自车辆前部的热辐射,并清楚地将生物与行人和道路上的物体、树木和交通标志区分开来。汽车公司正在研究基于人工智能的行人检测技术,预计该技术将比现有技术更精确。

抬头显示

  • Head-UpDisplay;HUD
  • HUD技术把汽车行驶过程中仪表显示的重要信息(如车速、导航等)投射到前风挡玻璃上,不仅能够帮助对速度判断缺乏经验的新手控制自己的车速,避免在许多的限速路段中因超速而违章,更重要的是它能够使驾驶员在大视野不转移的条件下瞬间读数,始终头脑清醒地保持最佳观察状态。

盲区监测系统

  • BlindSpotDetection;BSD
  • 该系统通过车辆周围排布的超声波雷达、毫米波雷达、红外雷达等传感器、盲点探测器等设施。由计算机进行控制,在超车、倒车、换道、大雾、雨天等易发生危险的情况下随时以声、光(侧视镜上的小灯闪烁)形式向驾驶员提供汽车周围必要的信息,并可自动采取措施,有效防止事故发生

注意力检测系统

  • DriverMonitoringSystems;DMS
  • 或疲劳驾驶检测DriverFatigueMonitor,DFM
  • 该系统运用感应器来检测驾驶员的注意力。如果司机看向马路前方,并且在此同时有危机的情况被检测到了。系统就会用闪光,刺耳的声音来警示。如果司机没有做出任何回应,那么车辆就会自动刹车。

智能大灯控制

  • AdaptiveFrontLights;AFL
  • AFL是一种可以安装在车上的技术,可以根据道路的形状来改变大灯的方向。另一些智能大灯控制系统能够根据车速和道路环境来改变大灯的的强度。

行人检测系统

  • PedestrianDetectionSystem;PDS
  • 车辆行驶途中可以利用摄像头雷达,和激光雷达来探测到四面行人,在安全距离内及时控速。

https://www.sohu.com/a/609246977_560178

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/680895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试用例详解(强,硬,牛)

目录: 测试用例价值与体系黑盒测试方法论-等价类黑盒测试方法论-边界值黑盒测试方法论-因果图黑盒测试方法论-判定表黑盒测试方法论-场景法测试用例基础概念测试用例设计与评审面试测试测试用例设计搜索功能测试用例设计 1.测试用例价值与体系 测试用例概念测试…

【MQTT】| 搭建——在云服务器上搭建MQTT服务器

系列文章目录 【MQTT】| 搭建——在云服务器上搭建MQTT服务 失败了也挺可爱,成功了就超帅。 文章目录 前言1. EMQX简介2. EMQX部署3. EMQX一些操作指令3.1 启动EMQX3.2 停止EMQX3.3 检查EMQX运行状态3.4 卸载EMQX 4. EMQX设置4.1 进入EMQX控制面板 5. EMQX测试5.1…

模型评估 (Model Assessment)

1.模型评估 (Model Assessment) 笔记来源于《白话机器学习的数学》 我们训练好模型后,要对知道这个模型到底好不好,定量描述这个模型好坏就是模型评估 把获取的全部训练数据分成两份:一份用于测试,一份用于训练。然后用前者来评估…

数据库实训报告3000字

数据库实训报告1 一、实习目的 认识实习是本科教学计划中非常重要的实践性教学环节,其目的是使学生了解和掌握电力生产知识、印证、巩固和丰富已学过的计算机专业课程内容,培养学生理论联系实际,提高其在生产实践中调查研究、观察问题、分析问…

银行账户管理系统

1. 目的与要求 1、目的: (1)熟练掌握 C语言的基本知识和技能: (2)掌握面向对象程序设计的基本思想和方法;(3)能够利用所学的面向对象基本知识和技能,解决简单应用的程序设计 2、基本要求:(1)利用面向对象的方法以及 C的编程思想来完成系统的设计;(2)在设计的过程中…

抽象工厂模式(Abstract Factory)

定义 抽象工厂是一种创建型设计模式,它能创建一系列相关的对象,而无需指定其具体类。 前言 1. 问题 假设你正在开发一款家具商店模拟器。你的代码中包括一些类,用于表示: 一系列相关产品,例如椅子(Chai…

091基于深度学习的手写汉字数字识别含10多种模型

emo仓库和视频演示找091期: 银色子弹zg的个人空间-银色子弹zg个人主页-哔哩哔哩视频 效果展示图如下: 代码文件展示如下: 运行01数据集文本生成制作.py可以读取图片路径保存再txt文本中, 运行02train.py可以对txt文本中的图片路…

同程数科基于 Apache Doris 构建统一实时数仓,查询提速数十倍!

本文导读: 同程数科是同程集团旗下的旅游产业金融科技服务平台,为上下游企业和个人消费者提供数字金融科技服务。近年来,随着同程数科业务的不断拓展和用户量的增加,高效可靠的一站式数据中心建设已成为必不可少的需求。为帮助业…

团体程序设计天梯赛-练习集L2篇④

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

WPF 零基础入门笔记(1):WPF静态页面,布局+样式+触发器

文章目录 官方文档往期回顾零基础笔记项目实战(已完结) WPF项目创建为什么选net core版本 WPF 静态页面WPF 页面布局WPF样式Style样式行内样式行外样式如果是简单样式,可以这么写如果是复杂样式 WPF样式继承WPF触发器单条件触发器多条件触发 …

LLDP(链路层发现协议)详解及C/C++代码实现

LLDP(链路层发现协议)是一种IEEE标准协议(IEEE 802.1AB),它定义了封装在以太网帧中的消息,目的是通过默认情况下每30秒从每个端口定期重传一次,为设备提供一种向LAN(局域网&#xff…

20个Java编程技巧

1. 把字符串常量放在前面 通过把字符串常量放在比较函数equals()比较项的左侧来防止偶然的 NullPointerException 从来都不是一个坏主意,就像这样: 这是毫无疑问的,把一种表达式转换成另一种更好的表达式,并不会失去什么。只要我…

mysql锁机制及MVCC底层原理

一、锁介绍 按性能可分为乐观锁(适用于读多写少的情况下,如果是写多,导致过多cpu空转,影响性能)和悲观锁(适用于写多的情况)按数据库操作粒度可分为表锁、页锁、行锁按数据库操作类型可分为读锁…

UE4/5动画系列(1.模板制作)

目录 动画模板制作 同步模板组制作 有模板做什么都方便,所以这里我们做一个动画蓝图的模板(动物专用) 动画模板制作 第一步创建一个动画蓝图的模板 然后找到第三人称的模板,将其模板的蓝图改名: 在动画蓝图的模板里…

团体程序设计天梯赛-练习集L2篇②

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

首个跨云元数据KV存储Xline正式进入CNCF沙箱

2023年6月13日,云原生计算基金会(CNCF)宣布Xline正式被纳入CNCF沙箱(Sandbox)项目。Xline是由达坦科技(DatenLord)于2022年年底推出的开源项目,是一个用Rust语言写就的,用于元数据管…

hello算法笔记之图

一、图的基础知识 图是一种非线性数据结构,由「顶点 Vertex」和「边 Edge」组成。 1.图的类型: 根据边是否具有方向可以分为有向图,无向图 根据所有顶点是否连通可以分为连通图(对于连通图,从某个顶点出发&#xf…

gdb系列-入门篇-day01

gdb基础命令 一个程序要被调试&#xff0c;编译的时候要加上-g选项&#xff0c;例如gcc -g … 先准备一个调试的小代码 #include <stdio.h>int hello() {printf("hello\n");return 0; }int main() {int a[5] {1,2,3,4,5};hello();for(int i0; i<5; i){pri…

springboot使用@Valid 和 @Validated 注解校验详解以及编写一个自定义全局异常类

package com.test.springvalid.config;import lombok.Data; import java.util.HashMap; import java.util.Map;/*** 通用返回结果&#xff0c;服务端响应的数据最终都会封装成此对象* param <T>*/ Data public class R<T> {private Integer code; //编码&#xff1…

Mybatis源码分析_Mapper接口是如何实例化的 (2)

我们在使用Springmybatis的时候&#xff0c;经常都是直接写一个接口和一个对应的 ***Mapper.xml文件&#xff0c;然后业务代码就可以直接注入这个接口了。它是如何做到的呢&#xff1f; 接口&#xff1a; xml 想搞清楚这个问题&#xff0c;那还是要从Mybatis底层源码进行分析的…