亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

兼容Spring Boot 1.x和2.x配置類參數綁定的工具類SpringBootBindUtil

2024-07-14 08:43:20
字體:
來源:轉載
供稿:網友

為了讓我提供的通用 Mapper 的 boot-starter 同時兼容 Spring Boot 1.x 和 2.x,增加了這么一個工具類。

在 Spring Boot 中,能夠直接注入 XXProperties 類的地方不需要使用這個工具類。

但是在Spring 的接口和啟動流程設計中,有些情況下只能通過EnvironmentAware接口得到Environment對象,此時你想得到 XXProperties 類沒有更好的辦法。

也許有人直接從Environment 對象中遍歷獲取所有的配置信息,但是有一個無法完美解決的問題就是relax 值,例如first-name,firstNameFIRST_NAME都可以代表同一個參數,在自己代碼中很難處理這種情況。

通用 Mapper 在兼容兩者過程中遇到過很多 BUG,這一次通過一個工具類解決了這個問題。

在 Spring Boot 1.x 中,可以通過下面代碼綁定參數到對象:

try {  RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(environment);  Map<String, Object> properties = resolver.getSubProperties("");  //targetClass 目標類型,例如 MapperProperties  T target = targetClass.newInstance();  RelaxedDataBinder binder = new RelaxedDataBinder(target, prefix);  binder.bind(new MutablePropertyValues(properties));  return target;} catch (Exception e) {  throw new RuntimeException(e);}

Spring Boot 2.x 中,綁定更簡單,如下:

Binder binder = Binder.get(environment);return binder.bind(prefix, targetClass).get();

上面這兩段代碼也是最近才找到,要不然這個功能會出現的更早。

由于上面的兩處代碼都在 spring-boot.jar 中,因此編譯時不能同時依賴兩個不同的版本,而且為了方便以后項目依賴從 1.x 升級到 2.x,因此針對上面兩處代碼全部使用反射實現。

源碼地址:https://github.com/abel533/mapper-boot-starter/blob/master/mapper-spring-boot-autoconfigure/src/main/java/tk/mybatis/spring/mapper/SpringBootBindUtil.java

簡單用法如下:

MapperProperties mapperProperties = SpringBootBindUtil.bind(    environment,     MapperProperties.class,     MapperProperties.PREFIX);

至此通過environment就能得到想要的配置類了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品videos| 欧美大片欧美激情性色a∨久久| 国产精品wwwwww| 欧美日韩国产精品一区二区不卡中文| 日韩中文视频免费在线观看| 538国产精品视频一区二区| 亚洲男女性事视频| 尤物yw午夜国产精品视频明星| 欧美在线视频免费观看| 欧美激情视频网站| 久久综合久中文字幕青草| 日韩**中文字幕毛片| 成人欧美一区二区三区黑人孕妇| 日韩一级裸体免费视频| 国产精品一区二区3区| 久久久久久亚洲精品| 久久99国产精品久久久久久久久| 国产在线观看精品一区二区三区| 日韩电视剧在线观看免费网站| 日本国产欧美一区二区三区| 国产精品福利在线观看| 国产在线高清精品| 91探花福利精品国产自产在线| 国内外成人免费激情在线视频网站| 亚洲人成在线观| 欧美成人黑人xx视频免费观看| 久久中文字幕视频| 欧美中文字幕视频| 91久久久久久久| 国产91精品青草社区| 久久99国产精品自在自在app| 欧美性高跟鞋xxxxhd| 国产69精品久久久久99| 欧美日韩在线免费观看| 久久久国产91| 亚洲视频在线免费观看| 欧美性猛交xxxx黑人| 日本欧美一二三区| 中日韩美女免费视频网址在线观看| 亚洲欧洲自拍偷拍| 亚洲人成网站在线播| 69av在线视频| 色樱桃影院亚洲精品影院| 亚洲第一级黄色片| 亚洲嫩模很污视频| 国产成人小视频在线观看| 国产精品大陆在线观看| 久久久久成人精品| 97免费视频在线播放| 青草青草久热精品视频在线网站| 国产91在线播放精品91| 国产精品video| 国产欧美一区二区三区久久| 神马国产精品影院av| 97av在线播放| 欧美性猛交xxxx乱大交3| 伊人久久免费视频| 日韩美女毛茸茸| 91手机视频在线观看| 精品久久久999| 一区二区三区视频免费| 中文字幕亚洲天堂| 亚洲大胆人体视频| 欧美日在线观看| 国产一区二区在线免费视频| www.日韩av.com| 国产成人精品亚洲精品| 国产精品日韩在线一区| 亚洲成avwww人| 久久久久久久久久久免费| 一区二区三区美女xx视频| 国产亚洲日本欧美韩国| 国产精品视频一区二区三区四| 国产日韩欧美在线观看| 亚洲男人天堂九九视频| 国产成人鲁鲁免费视频a| 欧美在线观看日本一区| 国产精品免费小视频| 亚洲精品视频在线观看视频| 中文字幕亚洲字幕| 亚洲伦理中文字幕| 久久久午夜视频| 91丝袜美腿美女视频网站| 国产精品久久久久999| 欧美小视频在线观看| www日韩欧美| 亚洲国产天堂网精品网站| 奇米四色中文综合久久| 国产亚洲激情在线| 久久韩国免费视频| 一本大道香蕉久在线播放29| 亚洲高清久久网| 欧美—级a级欧美特级ar全黄| 国内精品模特av私拍在线观看| 91在线精品视频| 欧洲日本亚洲国产区| 日韩av片电影专区| 国产精品偷伦一区二区| 中文字幕欧美精品日韩中文字幕| 精品久久久久久久久国产字幕| 91av视频在线免费观看| 欧美色videos| 国产亚洲欧洲高清| 亚洲国产成人精品久久久国产成人一区| 欧美日韩第一视频| 中文字幕日韩av电影| 国产91精品久久久久久| 国产一区二区三区欧美| 久久中文久久字幕| 日韩av影视在线| 国产精品久久9| 最新69国产成人精品视频免费| 国产精品视频免费在线| 亚洲国产精品热久久| 欧美一区二区大胆人体摄影专业网站| 亚洲国产99精品国自产| 日韩不卡在线观看| 久久人人爽亚洲精品天堂| 97在线看福利| 日韩精品高清在线观看| 亚洲一区中文字幕在线观看| 欧美精品一区二区免费| 亚洲女人天堂色在线7777| 亚洲一区亚洲二区| 欧美国产第一页| 欧美日韩电影在线观看| 亚洲国产精品久久久久秋霞蜜臀| 日本高清久久天堂| 成人激情电影一区二区| 日韩精品在线观| 亚洲片国产一区一级在线观看| 成人日韩在线电影| 九色精品免费永久在线| 久久男人资源视频| 综合欧美国产视频二区| 中文字幕欧美精品在线| 亚洲精品国精品久久99热| 理论片在线不卡免费观看| 97国产一区二区精品久久呦| 国产成人综合久久| 精品久久久久久中文字幕| 国产精品久久久久7777婷婷| 69视频在线播放| 国产99久久精品一区二区| 国产拍精品一二三| 亚洲女人天堂成人av在线| 欧美天天综合色影久久精品| 日韩av网站在线| 伊人久久综合97精品| 国模极品一区二区三区| 国产手机视频精品| 国产美女直播视频一区| 亚洲视频网站在线观看| 91av在线视频观看| 精品亚洲一区二区三区| 亚洲a在线观看| 美女撒尿一区二区三区| 亚洲欧美国产制服动漫| 欧美性猛交xxxx乱大交极品| 亚州国产精品久久久| 国产玖玖精品视频| 国产成人精品免高潮在线观看| 欧美一区在线直播| 性色av一区二区三区在线观看|