本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
          隨筆-230  評(píng)論-230  文章-8  trackbacks-0
          自從年初看了李剛寫的那本《Spring2.0寶典》,好久沒看過Spring任何資料,對(duì)于《Spring2.0寶典》的評(píng)價(jià),我只能說一句話垃圾中的垃圾。我已經(jīng)不敢再買國(guó)內(nèi)作家寫的書了。

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

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

          用戶有時(shí)不能確定BeanFactory和ApplicationContext中哪一個(gè)在特定場(chǎng)合下更適合。 通常大部分在J2EE環(huán)境的應(yīng)用中,最好選擇使用ApplicationContext, 因?yàn)樗粌H提供了BeanFactory所有的特性以及它自己附加的特性,而且還提供以聲明的方式使用一些功能, 這通常是令人滿意的。BeanFactory主要是在非常關(guān)注內(nèi)存使用的情況下 (比如在一個(gè)每kb都要計(jì)算的applet中)使用,而且你也不需要用到ApplicationContext的所有特性。

          這一章粗略地分為兩部分,第一部分包括對(duì)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是可以轉(zhuǎn)換成beanFactory的
          BeanFactory factory = (BeanFactory) appContext;

          Beans被定義為兩種部署模式中的一種:singleton或non-singleton。 (后一種也別叫作prototype,盡管這個(gè)名詞用的不精確因?yàn)樗⒉皇欠浅_m合)。 如果一個(gè)bean是singleton形態(tài)的,那么就只有一個(gè)共享的實(shí)例存在, 所有和這個(gè)bean定義的id符合的bean請(qǐng)求都會(huì)返回這個(gè)唯一的、特定的實(shí)例。

          如果bean以non-singleton,prototype模式部署的話,對(duì)這個(gè)bean的每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的bean實(shí)例。這對(duì)于例如每個(gè)user需要一個(gè)獨(dú)立的user對(duì)象這樣的情況是非常理想的。

          <bean id="exampleBean"
                
          class="examples.ExampleBean" singleton="false"/>
          <bean name="yetAnotherExample"
                
          class="examples.ExampleBeanTwo" singleton="true"/>
          posted on 2007-09-28 23:15 有貓相伴的日子 閱讀(1835) 評(píng)論(3)  編輯  收藏 所屬分類: spring

          評(píng)論:
          # re: BeanFactory與Application的區(qū)別[未登錄] 2010-05-19 16:36 | qq
          請(qǐng)樓主不要太刁,不要說什么 垃圾中的垃圾
          國(guó)內(nèi)很多人是看,李剛的書慢慢成長(zhǎng)起來的,那個(gè)時(shí)候你在做什么?

          你自己去寫一本試一試  回復(fù)  更多評(píng)論
            
          # re: BeanFactory與Application的區(qū)別 2010-08-14 16:23 | ddfdfsafdfsda
          @qq
          沒語(yǔ)了,典型的托  回復(fù)  更多評(píng)論
            
          # re: BeanFactory與Application的區(qū)別 2010-08-14 16:35 | ddfdfsafdfsda
          @qq
          那是寫嗎?是著書立說嗎?那叫抄書  回復(fù)  更多評(píng)論
            
          本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
          主站蜘蛛池模板: 博客| 青州市| 苍梧县| 门头沟区| 门源| 梨树县| 蓬安县| 德令哈市| 启东市| 阳谷县| 舟曲县| 嘉祥县| 信宜市| 广河县| 宁夏| 晋州市| 密云县| 双流县| 河南省| 东港市| 西盟| 永平县| 湖南省| 抚松县| 那曲县| 同江市| 阳春市| 阜新市| 大方县| 花莲市| 道孚县| 盘锦市| 宁国市| 枝江市| 梧州市| 新化县| 民丰县| 葵青区| 稷山县| 肥城市| 海盐县|