国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - 兼容Spring Boot 1.x和2.x配置類參數綁定的工具類SpringBootBindUtil

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

2021-06-24 10:43isea533 Java教程

今天小編就為大家分享一篇關于兼容Spring Boot 1.x和2.x配置類參數綁定的工具類SpringBootBindUtil,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

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

在 spring boot 中,能夠直接注入 xxproperties 類的地方不需要使用這個工具類。

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
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 中,綁定更簡單,如下:

?
1
2
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

簡單用法如下:

?
1
2
3
4
mapperproperties mapperproperties = springbootbindutil.bind(
    environment,
    mapperproperties.class,
    mapperproperties.prefix);

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/isea533/article/details/79121981

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美综合一区 | 久久久综合网 | 国产一区中文字幕 | 天天干天天射天天操 | 色噜噜狠狠狠综合曰曰曰 | 精品一区二区三区免费 | a久久| 国产精品免费久久久久久久久久中文 | 中国黄色免费网站 | 希岛爱理av一区二区三区 | 自拍偷拍在线视频 | 九一视频在线免费观看 | 最新av在线 | 久热精品免费视频 | 91久久国产综合久久91精品网站 | 国产精品18久久久久久久久久久久 | 欧美国产日韩在线 | 一本大道色卡1卡2卡3 | 中文在线a在线 | 国产亚洲一区二区三区在线观看 | 国产精选一区二区三区不卡催乳 | 精品国产欧美一区二区三区成人 | 国产美女精品一区二区三区 | 欧美精品区 | 韩国精品一区二区 | 黄片毛片免费观看 | 亚洲国产精品一区二区三区 | 日韩免费在线 | 亚洲天堂av影院 | 精品伊人 | 激情综合五月 | 国产精品久久久久久久9999 | 91免费网| 天天爱天天操 | 日韩在线播放一区二区三区 | 欧美日本精品 | 亚洲欧美日韩精品 | 毛片一级片 | 精品国产乱码久久久久久影片 | 91视视频在线观看入口直接观看 | 国产最新精品 |