java數據轉換啦
背景
java開發中一個對象的值賦值給另外一個對象,這樣的例子太多,頁面VO對象,需要轉換為業務mode對象,系統中存在大量的VO、DTO、DO、PO,大量的轉換代碼需要程序員一行一行敲。為了程序員少加班,我推薦幾個對象轉換工具包。
學習目標
能提高開發效率,早點下班自己能結合工具包定製適合自己項目的工具代碼案例
DTO(Data Transfer Object):數據傳輸對象
DO(Domain Object):領域對象
這兩個對象有大量相同屬性,注意有少數屬性類型不一樣sex和extInfo
DO對象用來mybatis入庫的
---------程序員,一般把類型屬性設計成枚舉,更安全更易懂--------------------
類型屬性枚舉
----------------模擬數據轉換過程,大家天天在寫這樣的代碼,如果屬性特別多,工作量不小------------------------
對象初始化
轉換邏輯:利用org.springframework.beans.BeanUtils工具幫我們自動轉換賦值-----spring的東西就是強大-----
轉換
結果完美的轉換了,DO就是我要存入數據庫表的對象
輸出結果
升級版案例
跟上面代碼完成一樣的功能,但轉換邏輯優化了。
我這裡是學的google的Guava工具實現 ,要看的這裡進去
泛型加回調函數
具體底層轉換工具包,大家根據項目情況合理選擇
我還是推薦spring的工具包
-------apache的工具包有些坑,不推薦使用
轉換邏輯:前面代碼一樣我就省略,這裡是回調函數加泛型
轉換優化
心得
性能上cglib最好一般用spring就夠了apache的這個工具用些坑,具體我就不講了。工具底層一般都是反射技術來實現的,如果對象複雜【比如DTO有繼承關係】,可以自己寫反射來實現。請關注 收藏 轉發,有錯誤請指點
需要完整demo代碼案例的,關注我,私信:轉換 ,我把代碼發你。
spring工具當然有
apache大神坐鎮,系統穩