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

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

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

    shenang博客技術文檔


    理論不懂就實踐,實踐不會就學理論!

    posts - 35,comments - 55,trackbacks - 0
       

    ApplicationContext學習

    相對BeanFactory而言,ApplicationContext提供了以下擴展功能:

     

    1國際化支持

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

    信息抽取到配置文件中加以定義,為我們進行應用的各語言版本轉換提供了極大的靈活性。

    2資源訪問

    支持對文件和URL的訪問。

    3事件傳播

    事件傳播特性為系統中狀態改變時的檢測提供了良好支持。

    4多實例加載

    可以在同一個應用中加載多個Context實例。

     下面我們就這些特性逐一進行介紹。

    1)    國際化支持

     配置文件

    <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>

    在配置節點中,我們指定了一個配置名“messages”。Spring會自動在CLASSPATH根路徑中按照如下順序搜尋配置文件并進行加載(以Localezh_CN為例):

    messages_zh_CN.properties

    messages_zh.properties

    messages.properties

    messages_zh_CN.class

    messages_zh.class

    messages.class

    再加入二個properties文件

    示例中包含了兩個配置文件,內容如下:

    messages_zh_CN.properties

     

    userinfo=當前登錄用戶: [{0}] 登錄時間:[{1}]

     

    messages_en_US.properties

     

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

    測試

    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()

            };

    //     以系統默認Locale加載信息(對于中文WinXP而言,默認為zh_CN)

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

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

        }  

    }

    結果

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

     

     2) 資源訪問

    ApplicationContext.getResource方法提供了對資源文件訪問支持,如:

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

    File file = rs.getFile();

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

    getResource方法的參數為一個資源訪問地址,如:

    file:C:/config.properties

    /config.properties

    classpath:config.properties

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

    其進行判斷。

    3)事件傳播

    ApplicationContext基于Observer模式(java.util包中有對應實現),提供了針對Bean的事件傳

    播功能。通過Application. publishEvent方法,我們可以將事件通知系統內所有的

    ApplicationListener

    posted on 2009-03-23 12:39 重慶理工小子 閱讀(429) 評論(0)  編輯  收藏 所屬分類: Spring2
    主站蜘蛛池模板: 高清国语自产拍免费视频国产| 国产h视频在线观看网站免费| 国产又黄又爽又刺激的免费网址 | 亚洲综合精品成人| 麻花传媒剧在线mv免费观看| 亚洲AV日韩AV鸥美在线观看| 久久国产精品国产自线拍免费| 亚洲熟妇av一区二区三区漫画| 中文字幕手机在线免费看电影| 久久久久亚洲精品男人的天堂| 巨胸喷奶水www永久免费| 国产亚洲av片在线观看播放| 日韩精品免费视频| 亚洲综合色丁香麻豆| 美女视频黄a视频全免费| 伊人久久亚洲综合影院首页| 在线观看永久免费视频网站| 免费精品久久久久久中文字幕 | 国产成人精品日本亚洲网址| 成人片黄网站色大片免费| 理论亚洲区美一区二区三区 | 亚洲av乱码中文一区二区三区| 免费人成在线观看播放国产 | 亚洲成色WWW久久网站| 2022久久国产精品免费热麻豆| 亚洲欧洲日韩综合| 国产精品嫩草影院免费| 中文字幕免费视频精品一| 精品无码一区二区三区亚洲桃色 | 亚洲人色婷婷成人网站在线观看| 国产免费无码AV片在线观看不卡| 78成人精品电影在线播放日韩精品电影一区亚洲 | 成年人在线免费看视频| 一边摸一边爽一边叫床免费视频 | 免费人成视频在线| 国产区在线免费观看| 亚洲宅男天堂a在线| 亚洲欧洲中文日韩久久AV乱码| 37pao成人国产永久免费视频 | 久久精品国产亚洲AV高清热| 永久黄网站色视频免费观看|