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

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

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

    thinking

    one platform thousands thinking

    BeanFactory與Application的區別

    BeanFactory與Application的區別
    自從年初看了李剛寫的那本《Spring2.0寶典》,好久沒看過Spring任何資料,對于《Spring2.0寶典》的評價,我只能說一句話垃圾中的垃圾。我已經不敢再買國內作家寫的書了。

    在Spring中,兩個最基本最重要的包是 org.springframework.beansorg.springframework.context. 這兩個包中的代碼為Spring的反向控制 特性(也叫作依賴注射)提供了基礎。 BeanFactory提供了一種先進的配置機制來管理任何種類bean(對象),這種配置機制考慮到任何一種可能的存儲方式。 ApplicationContext建立在BeanFactory之上,并增加了其他的功能,比如更容易同Spring AOP特性整合, 消息資源處理(用于國際化),事件傳遞,以聲明的方式創建ApplicationContext, 可選的父上下文和與應用層相關的上下文(比如WebApplicationContext),以及其他方面的增強。

    簡而言之,BeanFactory提供了配置框架和基本的功能, 而 ApplicationContext為 它增加了更強的功能,這些功能中的一些或許更加接近J2EE并且圍繞企業級應用。一般來說,ApplicationContext是 BeanFactory的完全超集, 任何BeanFactory功能和行為的描述也同樣被認為適用于ApplicationContext

    用戶有時不能確定BeanFactory和ApplicationContext中哪一個在特定場合下更適合。 通常大部分在J2EE環境的應用中,最好選擇使用ApplicationContext, 因為它不僅提供了BeanFactory所有的特性以及它自己附加的特性,而且還提供以聲明的方式使用一些功能, 這通常是令人滿意的。BeanFactory主要是在非常關注內存使用的情況下 (比如在一個每kb都要計算的applet中)使用,而且你也不需要用到ApplicationContext的所有特性。

    這一章粗略地分為兩部分,第一部分包括對BeanFactory和ApplicationContext都適用的一些基本原則。第二部分包括僅僅適用于ApplicationContext的一些特性


    生成BeanFactory的方法
    InputStream is = new FileInputStream("beans.xml");
    XmlBeanFactory factory 
    = new XmlBeanFactory(is);
    //或者
    ClassPathResource res = new ClassPathResource("beans.xml");
    XmlBeanFactory factory = new XmlBeanFactory(res);

    生成ApplicationContext方法
    ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
            
    new String[] {"applicationContext.xml""applicationContext-part2.xml"});


    ClassPathXmlApplicationContext appContext 
    = new ClassPathXmlApplicationContext("");

    applicationContxt是可以轉換成beanFactory的
    BeanFactory factory = (BeanFactory) appContext;

    Beans被定義為兩種部署模式中的一種:singleton或non-singleton。 (后一種也別叫作prototype,盡管這個名詞用的不精確因為它并不是非常適合)。 如果一個bean是singleton形態的,那么就只有一個共享的實例存在, 所有和這個bean定義的id符合的bean請求都會返回這個唯一的、特定的實例。

    如果bean以non-singleton,prototype模式部署的話,對這個bean的每次請求都會創建一個新的bean實例。這對于例如每個user需要一個獨立的user對象這樣的情況是非常理想的。

    <bean id="exampleBean"
          
    class="examples.ExampleBean" singleton="false"/>
    <bean name="yetAnotherExample"
          
    class="examples.ExampleBeanTwo" singleton="true"/>

    posted on 2009-05-06 17:27 lau 閱讀(306) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 国产片AV片永久免费观看| 国产A∨免费精品视频| 曰批全过程免费视频播放网站| 久久国产成人亚洲精品影院 | gogo全球高清大胆亚洲| 久久免费精品视频| 久久精品国产亚洲一区二区| 国产成人无码区免费内射一片色欲| 一本色道久久综合亚洲精品高清| 一本久久A久久免费精品不卡| 免费a在线观看播放| 一区二区视频在线免费观看| 国产亚洲老熟女视频| 精品国产呦系列在线观看免费| 国产成人亚洲影院在线观看| 国产黄在线观看免费观看不卡| 日本红怡院亚洲红怡院最新| 日韩免费视频一区二区| 亚洲国产精品综合久久网各| 欧美好看的免费电影在线观看| 亚洲国产精品无码中文lv| 免费人成网站7777视频| a级毛片毛片免费观看久潮喷| 久久亚洲精品无码aⅴ大香| 18禁无遮挡无码网站免费| 含羞草国产亚洲精品岁国产精品| 国产精品亚洲玖玖玖在线观看| 最新久久免费视频| 亚洲制服丝袜一区二区三区| 国产精品免费看久久久无码| 99久久婷婷免费国产综合精品| 久久久亚洲AV波多野结衣| 免费欧洲美女牲交视频| a毛片全部免费播放| 亚洲AV男人的天堂在线观看| 亚洲日韩国产成网在线观看| 最近2019年免费中文字幕高清| 国产一区二区三区亚洲综合 | 日韩视频在线精品视频免费观看| 亚洲av片在线观看| 亚洲国产精品成人久久|