<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,  comments - 11,  trackbacks - 0
    分散配置:
    有時你會發(fā)現(xiàn)將配置文件分成幾個分散的配置文件是很有益的。
    將Data Source配置到Bean裝配文件中不是很適合。數(shù)據(jù)庫細(xì)節(jié)是一個發(fā)布信息。而Bean裝配文件的目的是定義如何裝配系統(tǒng)的各個模塊。如果使用ApplicationContext當(dāng)作Spring容器,那么,在Spring中分離屬性配置是很簡單的。使用Spring的PropertyPlaceholderConfigurer告訴Spring從外部屬性文件裝載一些配置信息。
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            
    <property name="url">
                
    <value>jdbc:hsqldb:Training</value>
            
    </property>
            
    <property name="driverClassName">
                
    <value>org.hsqldb.jdbcDriver</value>
            
    </property>
            
    <property name="username">
                
    <value>appUser</value>
            
    </property>
            
    <property name="password">
                
    <value>password</value>
            
    </property>
        
    </bean>
    location屬性告訴Spring從哪里找到屬性文件。location屬性允許你使用單個配置文件。如果你想將配置信息分散到多個配置文件中,請使 用PropertyPlaceholderConfigurer的locations屬性設(shè)置文件列表,使用這種方式,可以使用占位符變量代替Bean裝 配文件中的硬編碼配置了。

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
            
    <property name="location">
                
    <value>jdbc.properties</value>
            
    </property>
            
    <property name="locations">
                
    <list>
                    
    <value>jdbc.properties</value>
                    
    <value>security.properties</value>
                    
    <value>application.properties</value>
                
    </list>
            
    </property>
        
    </bean>
        
    <bean id="dataSources" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            
    <property name="url">
                
    <value>${database.url}</value>
            
    </property>
            
    <property name="driverClassName">
                
    <value>${database.driver}</value>
            
    </property>
            
    <property name="username">
                
    <value>${database.user}</value>
            
    </property>
            
    <property name="password">
                
    <value>${database.password}</value>
            
    </property>
        
    </bean>

    定制屬性編輯器:
    java.beans.PropertyEditor接口提供了將字符串值映射成非String類型的方法。有一個好用的這個接口的實現(xiàn)-

    java.beans.PropertyEditorSupport,它有2個方法我們會感興趣:
    1、getAsText():方法返回一個表示屬性值的字符串。
    2、setAsText(String value):將傳遞進(jìn)來的字符串賦給Bean的屬性。

    Spring帶了幾種建立在propertyEditorSupport之上的定制編輯器,包括

    org.springframework.beans.propertyeditors.URLEditor,它是一個用于將字符串與java.net.URL相互轉(zhuǎn)換的定制編輯器。
    Spring提供的其他定制編輯器包括:
    1、ClassEditor-使用包含全稱類名的字符串設(shè)置java.lang.Class屬性。
    2、CustormDateEditor-使用某種java.text.DateFormat對象將一個字符串設(shè)置給java.util.Date屬性。
    3、FileEditor-使用包含文件路徑的字符串設(shè)置java.io.File屬性。
    4、LocalEditor-使用包含地域信息的字符串設(shè)置java.util.Local屬性。
    5、StringArrayPropertyEditor-將一個包含逗號的String轉(zhuǎn)換成String數(shù)組屬性。
    6、StringTrimmerEditor-自動修正字符串屬性,可以選擇將空字符串轉(zhuǎn)變?yōu)閚ull.
    <bean id="costomEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
            
    <property name="customEditors">
                
    <map>
                    
    <entry key="com.wyq.spring.PhoneNumber">
                        
    <bean id="phoneEditor" class="com.wyq.spring.PhoneEditor"></bean>
                    
    </entry>
                
    </map>
            
    </property>
        
    </bean>
    其中的map中的key表示要添加自定義屬性的類,value表示自定義屬性實現(xiàn)的類。

    package com.wyq.spring;

    import java.beans.PropertyEditorSupport;

    public class PhoneEditor extends PropertyEditorSupport {
        
        
    public void setAsText(String textValue) throws IllegalArgumentException {
            String stripped 
    = stripNonNumberic(textValue);
            
            String areaCode 
    = stripped.substring(0,3);
            String prefix 
    = stripped.substring(3,6);
            String number 
    = stripped.substring(6);
            PhoneNumber phone 
    = new PhoneNumber(areaCode,prefix,number);
            setValue(phone);
        }
        
    private String stripNonNumberic(String original){
            StringBuffer allNumberic 
    = new StringBuffer();
            
    for(int i=0;i<original.length();i++){
                
    char c = original.charAt(i);
                
    if(Character.isDigit(c)){
                    allNumberic.append(c);
                }
            }
            
    return allNumberic.toString();
        }
    }


    posted on 2009-10-31 17:54 王永慶 閱讀(320) 評論(0)  編輯  收藏 所屬分類: SPRING
    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關(guān)注blogs

    搜索

    •  

    最新評論

    • 1.?re: 心中的那個她[未登錄]
    • 如果心情能那么容易放開就好了,碰到她是我的緣分,但是她的緣分不知道在哪里。
    • --王永慶
    • 2.?re: 心中的那個她[未登錄]
    • 兄弟,喜歡就大膽去追好了,就是因為喜歡才會有不愉快,如果想一輩子沒有這些煩惱,找一個可有可無的人就好了。這種事講的是緣分吧。別人對你好不好其實不太重要。放開心情就好了。
    • --萍水相逢
    • 3.?re: 心中的那個她
    • 只能同甘不能共苦,就他媽算了吧,程序員也是人啊!我現(xiàn)在也很討厭女的不理解人情。
    • --咖啡妝
    • 4.?re: 難以割舍的那份情感
    • 評論內(nèi)容較長,點擊標(biāo)題查看
    • --王永慶
    • 5.?re: 難以割舍的那份情感
    • 評論內(nèi)容較長,點擊標(biāo)題查看
    • --隔葉黃鶯

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 黄网站在线播放视频免费观看| 精品亚洲AV无码一区二区三区| 欧洲美女大片免费播放器视频| 亚洲第一se情网站| 国内自产少妇自拍区免费| 亚洲综合色婷婷在线观看| 好爽…又高潮了免费毛片| 亚洲色丰满少妇高潮18p| 永久黄网站色视频免费| 亚洲狠狠色丁香婷婷综合| 久热免费在线视频| 国产免费人视频在线观看免费| 亚洲AV电影天堂男人的天堂| 国产成人高清精品免费软件| 免费国产草莓视频在线观看黄| 国产精品亚洲综合一区| 国产成人亚洲合集青青草原精品| 最近国语视频在线观看免费播放 | 特级无码毛片免费视频尤物| 亚洲Av熟妇高潮30p| 亚洲国产精品免费在线观看| 亚洲欭美日韩颜射在线二| 亚洲依依成人亚洲社区| 免费无码黄动漫在线观看| 国产亚洲精品仙踪林在线播放| 亚洲中文字幕成人在线| 久久成人无码国产免费播放| 亚洲伊人久久大香线蕉结合| 国产a不卡片精品免费观看 | 色噜噜狠狠色综合免费视频| 国产国拍精品亚洲AV片| 亚洲欧美国产国产一区二区三区 | 亚洲最大av无码网址| 国产免费一区二区视频| 亚洲一区精品伊人久久伊人| 久久免费视频精品| 亚洲精品无码少妇30P| 国产亚洲人成网站观看| 两个人看www免费视频| 亚洲日本乱码一区二区在线二产线| 国产精品久久香蕉免费播放|