日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java 逻辑校验工具_SpringBoot2.0实战(10)整合fluent-validator优雅业务校验

發(fā)布時(shí)間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 逻辑校验工具_SpringBoot2.0实战(10)整合fluent-validator优雅业务校验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

相關(guān)知識

FluentValidator是一個(gè)工具類庫,使用流式(Fluent Interface)調(diào)用風(fēng)格讓校驗(yàn)跑起來更優(yōu)雅,代碼更簡潔,同時(shí)驗(yàn)證器(Validator)可以做到開閉原則,實(shí)現(xiàn)最大程度的復(fù)用。

github地址:https://github.com/neoremind/fluent-validator

中文使用手冊:http://neoremind.com/2016/02/java的業(yè)務(wù)邏輯驗(yàn)證框架fluent-validator/

特性:

  • 驗(yàn)證邏輯與業(yè)務(wù)邏輯不再耦合,摒棄原來不規(guī)范的驗(yàn)證邏輯散落的現(xiàn)象。
  • 校驗(yàn)器各司其職,好維護(hù),可復(fù)用,可擴(kuò)展,一個(gè)校驗(yàn)器(Validator)只負(fù)責(zé)某個(gè)屬性或者對象的校驗(yàn),可以做到職責(zé)單一,易于維護(hù),并且可復(fù)用。
  • 流式風(fēng)格(Fluent Interface)調(diào)用。
  • 使用注解方式驗(yàn)證,可以裝飾在屬性上,減少硬編碼量。
  • 支持JSR 303 – Bean Validation標(biāo)準(zhǔn),也就是說可以兼容 Hibernate Validator。
  • Spring良好集成
  • 回調(diào)給予你充分的自由度,驗(yàn)證過程中發(fā)生的錯誤、異常,驗(yàn)證結(jié)果的返回,開發(fā)人員都可以定制。

目標(biāo)

替換 hibernate-validator 為 fluent-validator,實(shí)現(xiàn)對入?yún)⒌男r?yàn)及異常輸出

操作步驟

添加依賴

添加 fluent-validator 的依賴

因?yàn)?spring-boot 默認(rèn)使用 logback 作為日志輸出組件,所以在引入的時(shí)候需要去掉 fluent-validate 自身的 slf4j

注冊 Fluent-validator

fluent-validate 與 spring 結(jié)合使用 annotation 方式進(jìn)行參數(shù)校驗(yàn),需要借助于 spring 的 AOP,fluent-validate 提供了處理類 FluentValidateInterceptor,但是 fluent-validate 提供的默認(rèn)驗(yàn)證回調(diào)類 DefaultValidateCallback 對校驗(yàn)失敗的情況并沒有處理,所以需要自行實(shí)現(xiàn)一個(gè)

  • 自定義異常回調(diào)類
注冊 IOC

注冊 ValidateCallback 及 FluentValidateInterceptor,并且配置一個(gè) AOP 規(guī)則

全局異常處理

編碼

  • 添加校驗(yàn)規(guī)則

為業(yè)務(wù)類添加校驗(yàn)規(guī)則,此處,并沒有添加 fluent-validate 注解,而是保持了原來的 hibernate-validate

使用校驗(yàn)

在 Controller 接口的參數(shù)前面添加 @FluentValid 注解,替換掉 hibernate-validate 的 @Valid 注解

啟動類

返回結(jié)果為

源碼地址

本章源碼 : hhttps://github.com/caiyuanzi-song/boot.git

結(jié)束語

fluent-validate 可以全方位兼容 hibernate-validate,基于 spring 的 AOP 可以提供基于注解的方法入?yún)⑿r?yàn),同時(shí)也可以提供流式編程的工具類業(yè)務(wù)校驗(yàn),替代 hibernate-validate 的同時(shí)提供了更多擴(kuò)展性。

擴(kuò)展

實(shí)現(xiàn)自定義校驗(yàn)

  • 實(shí)現(xiàn)自定義校驗(yàn)類

Validator 接口定義了三個(gè)方法,解釋如下

使用自定義校驗(yàn)

添加 sex 屬性,使用 @FluentValidate 注解標(biāo)記使用自定義校驗(yàn)

總結(jié)

以上是生活随笔為你收集整理的java 逻辑校验工具_SpringBoot2.0实战(10)整合fluent-validator优雅业务校验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线中文 | 91精品国产综合久久久蜜臀图片 | 免费在线一区二区三区 | 日韩欧美在线视频免费观看 | 插我一区二区在线观看 | 国产aa| 黄色三级网站在线观看 | jizzjizz日本人| 红桃视频国产精品 | 日韩人妻一区二区三区蜜桃 | 咪咪色图 | 国产乱淫av片免费看 | 91视频精选 | 春草| 粉嫩aⅴ一区二区三区四区五区 | 夜夜嗨aⅴ一区二区三区 | 久久久久人妻一区精品色欧美 | 久久久久亚洲精品 | www.色人阁.com| 四虎影| 免费黄色av网址 | 亚洲精品二区 | 午夜婷婷丁香 | 国产精品av在线免费观看 | 九色视频丨porny丨丝袜 | www.尤物| 美女扒开腿让男生捅 | 涩天堂 | 91精品久久久久久久久久 | 青青青青操 | 免费看av在线 | 男人深夜影院 | 国产黄色a| 亚洲拍拍视频 | 亚洲免费视频大全 | 亚洲国产精品综合 | 一区二区的视频 | 精品人妻无码一区二区色欲产成人 | 好吊日在线观看 | 成人先锋av | 亚洲啊啊| 免费av福利 | 国产第20页 | 国内自拍视频网站 | 欧美高清一区二区 | 一级艳片新婚之夜 | 玖草影院 | 色盈盈影院 | 九九视频免费在线观看 | 无套内谢的新婚少妇国语播放 | 夜夜嗨一区二区三区 | 欧美第1页 | 精品欧美乱码久久久久久1区2区 | 欧美乱做爰xxxⅹ久久久 | 岛国av网址| 波多野结衣影片 | 在线观看三区 | 婷婷毛片 | 又色又爽又黄18网站 | 香港一级淫片免费放 | 亚洲国产精品电影 | 天堂va蜜桃| 欧美色图在线观看 | 国产女主播在线观看 | 国产美女自拍 | 岛国av免费在线 | 精品熟女一区二区 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 欧美人体一区二区 | 高级家教课程在线观看 | av在线免费观看网站 | 91大尺度 | 一区二区三区四区人妻 | www.伊人久久| 4438x亚洲| 久久不卡日韩美女 | 亚洲综合日韩 | 男女无遮挡网站 | 中文字幕一级片 | 黄色片hd | 日韩黄色精品视频 | 天堂av.com| 国产亚洲小视频 | 人妻精品一区 | 亚洲欧美一区二区三区 | 亚洲国产成人一区 | 91免费在线视频观看 | 不卡视频一区 | 99久久精品一区 | 中国国产黄色片 | 69午夜 | 国产伦精品一区二区三区高清版 | 黑人一区二区三区四区五区 | 国产美女网 | 熟女国产精品一区二区三 | 在线亚洲精品 | 国产伦精品一区二区三区四区视频 | 日韩高清不卡在线 | 男生操女生网站 |