屬性編輯器

          什么是屬性編輯器,作用?
          ?
          ?????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 閱讀(266) 評(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)論排行榜

          主站蜘蛛池模板: 牙克石市| 长顺县| 尚义县| 乌兰察布市| 阿城市| 贡觉县| 闽清县| 永嘉县| 泗水县| 义马市| 全椒县| 塔河县| 辽阳市| 碌曲县| 石狮市| 扎兰屯市| 台东县| 罗田县| 安义县| 晋城| 平安县| 淮阳县| 玉树县| 黄浦区| 江北区| 手机| 东丰县| 陇南市| 高碑店市| 荥经县| 华坪县| 阿巴嘎旗| 茶陵县| 恩平市| 那曲县| 辽阳县| 天津市| 顺平县| 宕昌县| 蓝田县| 武隆县|