天天看點

springMVC4(11)使用注解完成資料格式化需求執行個體引入AnnotationFormatterFactory接口FormattingConversionService

在實際開發中,我們會常常遇到需要對日期格式、數值格式進行轉換的需求。在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&amp;birthday=1995-01-01&amp;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&amp;birthday=1995-01-01&amp;salary=50k</code>

控制台對應輸出:

sun jan 01 00:00:00 cst 1995