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

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

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

    shenang博客技術(shù)文檔


    理論不懂就實(shí)踐,實(shí)踐不會(huì)就學(xué)理論!

    posts - 35,comments - 55,trackbacks - 0
       

    ApplicationContext學(xué)習(xí)

    相對(duì)BeanFactory而言,ApplicationContext提供了以下擴(kuò)展功能:

     

    1國(guó)際化支持

    我們可以在Beans.xml文件中,對(duì)程序中的語(yǔ)言信息(如提示信息)進(jìn)行定義,將程序中的提示

    信息抽取到配置文件中加以定義,為我們進(jìn)行應(yīng)用的各語(yǔ)言版本轉(zhuǎn)換提供了極大的靈活性。

    2資源訪問(wèn)

    支持對(duì)文件和URL的訪問(wèn)。

    3事件傳播

    事件傳播特性為系統(tǒng)中狀態(tài)改變時(shí)的檢測(cè)提供了良好支持。

    4多實(shí)例加載

    可以在同一個(gè)應(yīng)用中加載多個(gè)Context實(shí)例。

     下面我們就這些特性逐一進(jìn)行介紹。

    1)    國(guó)際化支持

     配置文件

    <beans>

         <description>Spring Quick Start</description>

     <bean id="messageSource" <!—注意,這里名字必須為messageSource -->

    class="org.springframework.context.support.ResourceB

    undleMessageSource">

       <property name="basenames">  

         <list>

           <value>messages</value>

         </list>

       </property>

     </bean>

    </beans>

    在配置節(jié)點(diǎn)中,我們指定了一個(gè)配置名“messages”。Spring會(huì)自動(dòng)在CLASSPATH根路徑中按照如下順序搜尋配置文件并進(jìn)行加載(以Localezh_CN為例):

    messages_zh_CN.properties

    messages_zh.properties

    messages.properties

    messages_zh_CN.class

    messages_zh.class

    messages.class

    再加入二個(gè)properties文件

    示例中包含了兩個(gè)配置文件,內(nèi)容如下:

    messages_zh_CN.properties

     

    userinfo=當(dāng)前登錄用戶: [{0}] 登錄時(shí)間:[{1}]

     

    messages_en_US.properties

     

    userinfo=Current Login user: [{0}] Login time:[{1}]

    測(cè)試

    import java.util.Calendar;

    import java.util.Locale;

    import org.springframework.context.ApplicationContext;

    import org.springframework.context.support.ClassPathXmlApplicationContext;

    publicclass TestAction {

        publicstaticvoid main(String[] args) {

             ApplicationContext ctx2=new 

            ClassPathXmlApplicationContext("applicationContext.xml");

                   Object[] arg = new Object[]{

            "Erica",

            Calendar.getInstance().getTime()

            };

    //     以系統(tǒng)默認(rèn)Locale加載信息(對(duì)于中文WinXP而言,默認(rèn)為zh_CN)

            String msg = ctx2.getMessage("userinfo", arg,Locale.US);

                   System.out.println("Message is ===> "+msg);

        }  

    }

    結(jié)果

    Message is ===> Current Login user: [Erica] Login time:[3/23/09 12:20 PM]

     

     2) 資源訪問(wèn)

    ApplicationContext.getResource方法提供了對(duì)資源文件訪問(wèn)支持,如:

     Resource rs = ctx.getResource("classpath:config.properties");

    File file = rs.getFile();

    上例從CLASSPATH根路徑中查找config.properties文件并獲取其文件句柄。

    getResource方法的參數(shù)為一個(gè)資源訪問(wèn)地址,如:

    file:C:/config.properties

    /config.properties

    classpath:config.properties

    注意getResource返回的Resource并不一定實(shí)際存在,可以通過(guò)Resource.exists()方法對(duì)

    其進(jìn)行判斷。

    3)事件傳播

    ApplicationContext基于Observer模式(java.util包中有對(duì)應(yīng)實(shí)現(xiàn)),提供了針對(duì)Bean的事件傳

    播功能。通過(guò)Application. publishEvent方法,我們可以將事件通知系統(tǒng)內(nèi)所有的

    ApplicationListener

    posted on 2009-03-23 12:39 重慶理工小子 閱讀(432) 評(píng)論(0)  編輯  收藏 所屬分類: Spring2
    主站蜘蛛池模板: 日本免费中文字幕| 99无码人妻一区二区三区免费 | 伊人久久综在合线亚洲91| 国产精品亚洲专区在线播放| 国产亚洲精品成人AA片新蒲金 | 亚洲精品国产字幕久久不卡| 最近2019年免费中文字幕高清| 亚洲日韩精品无码专区网站| 一级毛片免费播放| jizzjizz亚洲日本少妇| 亚洲AV福利天堂一区二区三| 日本一区二区三区日本免费| 在线毛片片免费观看| 亚洲精品无码久久久久牙蜜区| 97热久久免费频精品99| 亚洲国产精品99久久久久久| 亚洲AV无码成人精品区天堂| 午夜私人影院免费体验区| 久久成人免费播放网站| 国产午夜亚洲精品不卡免下载 | 免费一看一级毛片人| 一级毛片在线观看免费| jizzjizz亚洲日本少妇| 亚洲春色在线观看| 亚洲中文字幕久久精品无码APP| 99久久婷婷免费国产综合精品| 久久精品夜色噜噜亚洲A∨| 18国产精品白浆在线观看免费| 亚洲国产亚洲片在线观看播放 | 三上悠亚亚洲一区高清| 成年美女黄网站色大免费视频| 国产成人亚洲综合网站不卡| 国产成A人亚洲精V品无码性色 | 1000部无遮挡拍拍拍免费视频观看| 久久亚洲美女精品国产精品| 日韩亚洲变态另类中文| 日本高清色本免费现在观看| 1a级毛片免费观看| 国产亚洲精品免费视频播放| 男男gvh肉在线观看免费| 亚洲大成色www永久网址|