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

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

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

    afrag  
    記錄學習和成長的歷程
    日歷
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567
    統計
    • 隨筆 - 9
    • 文章 - 5
    • 評論 - 2
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    積分與排名

    • 積分 - 10149
    • 排名 - 2382

    最新評論

    閱讀排行榜

    評論排行榜

     

    ApplicationContextBeanFactory提供了更多的功能,因此一般情況下都會使用ApplicationContext,只有在資源有限的情況下(例如在移動設備上)才使用BeanFactory。

           ApplicationContext的多個實現中,最常用的有3個:

           ClassPathXmlApplicationContext:在所有的classpath中查找指定的xml文件。

           FileSystemXmlApplicationContext:在文件系統中查找指定的xml文件。(可以指定相對路徑,當前路徑為當前目錄)。

           XmlWebApplicationContext:從一個web應用程序中包含的xml文件中讀取context定義。

           ApplicationContext是擴展的BeanFactory接口

    public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory,

                  MessageSource, ApplicationEventPublisher, ResourcePatternResolver{

    …………

    }

           ApplicationContext獲取對象也是使用getBean方法。

           ApplicationContextBeanFactory有一個很大的不同是:BeanFactory是在需要bean的時候才會實例化bean;ApplicationContext會在裝入context的時候預先裝入所有的singletonbean。(singleton是在bean的定義中<bean>元素的一個屬性,缺省值為true)。

    例如,針對上一節的例子,我們將ExecutableApp類更改為:
    import org.springframework.beans.factory.BeanFactory;

    import org.springframework.beans.factory.xml.XmlBeanFactory;

    import org.springframework.core.io.FileSystemResource;

     

    public class ExecutableApp {

             public ExecutableApp () {

             }

     

    public static void  main(String args[]){

             System.out.println(“Before load xml file”);

    ApplicationContext  factory= new FileSystemXmlApplicationContext("configuration.xml");

    System.out.println(“After load xml file”);

                      Greeting personA = (Greeting)factory.getBean("greetingService");

    personA.sayHello();

        }

    }

    運行的結果是:
    Before load xml file

    Instance GreetingImpl object

    Instance MrSmith object

    After load xml file

    Hi,Mr Smith

    也就是說,ApplicationContext在裝載xml文件的同時就實例化了GreetingImpl類和MrSmith類。

    如果我們將xml文件的更改為:
    <?xml version = "1.0" encoding="UTF-8"?>

    <!DOCTYPE beans PUBLIC "-//SPRING//DTDBEAN//EN"

    "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>

      <bean id="person" class="MrSmith" singleton"false"/>

      <bean id="greetingService"

        class="GreetingImpl" singleton="false">

        <property name="greeting">

          <value>Hello</value>

    </property>

    <property name="who”>

      <ref bean="person"/>

    </property>

      </bean>

    </beans>

    那么ExecutableApp的運行結果是:
    Before load xml file

     

    After load xml file

     

    Instance GreetingImpl object

     

    Instance MrSmith object

     

    Hi,Mr Smith

     

    也就是說,在裝載xml文件時,ApplicationContext并沒有實例化GreetingImpl類和MrSmith類,直到需要這兩個類的時候才會實例化它們。
    posted on 2006-01-08 20:40 afrag 閱讀(588) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    Copyright © afrag Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 日韩中文字幕免费| 无码人妻久久一区二区三区免费| 亚洲XX00视频| 亚洲JIZZJIZZ妇女| 免费观看久久精彩视频| 免费看www视频| 国产l精品国产亚洲区在线观看 | 亚洲午夜久久久久久尤物| 在线91精品亚洲网站精品成人| 在线a毛片免费视频观看| 亚洲av无码精品网站| 亚洲电影免费在线观看| 亚洲毛片免费视频| 一二三四影视在线看片免费 | 国产精品久久亚洲不卡动漫| 欧美a级成人网站免费| 亚洲第一综合天堂另类专| 免费成人在线观看| 国产无遮挡无码视频免费软件 | 国产av无码专区亚洲国产精品| ww亚洲ww在线观看国产| 成人在线免费观看| 日日摸夜夜添夜夜免费视频 | 亚洲成AV人在线观看网址| 国产免费牲交视频免费播放 | 免费看无码特级毛片| 亚洲综合区图片小说区| 毛片免费观看的视频| 国产综合成人亚洲区| 中文字幕亚洲第一| 91精品国产免费久久国语蜜臀| 91亚洲性爱在线视频| 国产午夜鲁丝片AV无码免费| 亚洲AV无码久久久久网站蜜桃 | 亚洲综合伊人制服丝袜美腿| 日本成人在线免费观看| 国产一级a毛一级a看免费视频 | 四虎精品亚洲一区二区三区| a级片免费观看视频| 亚洲自偷自偷在线制服| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 |