在實際開發中,我們會常常遇到需要對日期格式、數值格式進行轉換的需求。在spring中,我們可以輕松通過注解的方式完成對資料的格式化處理,比如現在有個user pojo類:
package com.mvc.model;
我們希望通過上面兩個注解,将birthdat如1995-01-01的字元串形式與java.util.date的日期形式互相轉換,将salary如15.000k的字元串形式與long型的15000互相轉換。
為了完成我們的需求,我們需要先了解如下知識。
它使我們的注解與屬性類型關聯起來。它的定義如下:
繼承自conversionservice,運作時類型轉換和格式化服務接口,提供運作期類型轉換和格式化的支援。
其對應存在一個工廠類formattingconversionservicefactorybean,我們也可以通過其注冊自定義轉換器。它的地位相當于我們上一篇文章提到的conversionservicefactorybean。我們将其裝配在的conversion-service屬性中。下面是我們的執行個體配置:
注冊完後,我們即可進行我們的web測試:
啟動伺服器,我們在遊覽器中通路:
控制台對應輸出:<code>http://localhost:8080/springmvc/convert?name=myname&birthday=1995-01-01&salary=5.000k</code>
person [name=myname, birthday=sun jan 01 00:00:00 cst 1995, salary=5] 從這裡我們看出,成功完成了請求參數到user對象屬性的格式化轉換。
另一方面,如果我們想單獨使用格式轉化器,也可直接在方法入參中使用注解,看下面執行個體:
啟動伺服器,我們在遊覽器中通路:<code>http://localhost:8080/springmvc/convert?name=myname&birthday=1995-01-01&salary=50k</code>
控制台對應輸出:
sun jan 01 00:00:00 cst 1995