屬性編輯器

          什么是屬性編輯器,作用?
          ?
          ?????spring已經(jīng)有內(nèi)置的屬性編輯器,它的作用是 spring配置文件中的字符串轉(zhuǎn)換成相應(yīng)的對(duì)象進(jìn)行注入,
          我們可以根據(jù)需求自己定義屬性編輯器
          ??
          什么時(shí)候需要自定義屬性編輯器
          ? 某些時(shí)候需要自定義,spring內(nèi)置的屬性編輯器,不能把字符串轉(zhuǎn)換成相應(yīng)的對(duì)象。
          如注入的日期字符串,不能轉(zhuǎn)換成日期類型注入對(duì)象。就需要自定義屬性編輯器。


          如何定義屬性編輯器?
          ??* 繼承PropertyEditorSupport類,覆寫(xiě)setAsText()方法,參見(jiàn):UtilDatePropertyEditor.java
          ??* 將屬性編輯器注冊(cè)到spring中,參考如下:

          <!--第一種,利用spring的注入把?日期樣式也作為一個(gè)參數(shù),更加靈活-->??
          <
          bean?id="customEditorConfigurer"?class="org.springframework.beans.factory.config.CustomEditorConfigurer">
          ?2???<property?name="customEditors">
          ?3????<map>
          ?4?????<entry?key="java.util.Date">
          ?5??????<bean?class="com.bjsxt.spring.UtilDatePropertyEditor">
          ?6???????<property?name="format"?value="yyyy-MM-dd"/>
          ?7??????</bean>
          ?8?????</entry>
          ?9????</map>
          10???</property>
          11??</bean>?

          12?
          ?<!--第二種?-->
          13??<!--
          ?
          14?
          ?<bean?id="utilDatePropertyEditor"?class="com.bjsxt.spring.UtilDatePropertyEditor"></bean>
          15???-->


          java部分代碼:

          ?1?/**
          ?2??*?java.util.Date屬性編輯器?
          ?3??*?@author
          ?Administrator
          ?4?
          ?*
          ?5??*/

          ?6?public?class?UtilDatePropertyEditor?extends?PropertyEditorSupport?{
          ?7?

          ?8??private?String?format="yyyy-MM-dd";
          ?9?
          ?
          10?
          ?@Override
          11??public?void?setAsText(String?text)?throws
          ?IllegalArgumentException?{
          12???System.out.println("UtilDatePropertyEditor.saveAsText()?--?text="?+
          ?text);
          13?
          ??
          14???SimpleDateFormat?sdf?=?new
          ?SimpleDateFormat(format);
          15???try
          ?{
          16????Date?d?=
          ?sdf.parse(text);
          17????this
          .setValue(d);
          18???}?catch
          ?(ParseException?e)?{
          19?
          ???e.printStackTrace();
          20?
          ??}
          21?
          ?}
          22?

          23??public?void?setFormat(String?format)?{
          24???this.format?=
          ?format;
          25?
          ?}
          26?

          27?}
          28
          ?
          29?

          posted on 2009-04-12 23:35 luofeng225 閱讀(267) 評(píng)論(0)  編輯  收藏 所屬分類: Spring


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          我曾經(jīng)聽(tīng)到這么一個(gè)故事: 一個(gè)年輕的程序員問(wèn)一個(gè)老程序員(一個(gè)比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒(méi)有你不會(huì)的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒(méi)有感覺(jué)到進(jìn)步。老程序員: 我從20歲開(kāi)始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個(gè)小時(shí)在學(xué)習(xí)新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊(cè)

          收藏夾

          Java Website

          java技術(shù)博客

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 邵阳县| 辽阳市| 福清市| 廉江市| 交口县| 若尔盖县| 彰化县| 武邑县| 金平| 积石山| 天柱县| 湖北省| 青岛市| 手游| 图木舒克市| 卓尼县| 景德镇市| 如东县| 丹棱县| 芜湖市| 松潘县| 商都县| 安远县| 攀枝花市| 耿马| 依兰县| 昌邑市| 荔浦县| 台江县| 神木县| 长顺县| 石渠县| 水富县| 开江县| 海口市| 襄城县| 祁门县| 雷波县| 五莲县| 花莲市| 绥阳县|