隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          Bean的作用域

            在spring2.0中,一共定義了5種作用域,分別是singleton、prototype、request、session、
          globalSession。其中后面三種僅對WEB應(yīng)用程序有效。
            spring2.0通過scope=""屬性來定義Bean有作用域,而在spring1.x中,由于只有singleton 和
          prototype這兩種作用域,因此,spring1.x中定義Bean的作用域是通過singleton=“true|false" 來
          定義的。在spring2.0中首先應(yīng)該考慮用scope屬性來定義Bean 的作用域。

          Singleton作用域
            
            spring2.0是默認Bean的作用域是scope="singleton"。即spring的IoC容器僅為每個Bean創(chuàng)建一個
          實例并且保持Bean的引用,換言之,每次調(diào)用getBean()方法請求返回的Bean總是同一個實例。這類似
          于《設(shè)計模式》一書中的Singleton(單例)模式。

            public class Singleton {
              private static Singleton instance = new Singleton();
              private Singleton() {};
              pubilc static Singleton getInstance() {
                return instance;
              }
            }
            由于構(gòu)造方法被申明為private,因此,在類的外部不可實例化該類,唯一的實例持有在靜態(tài)引用中
          從外部獲取該實例的唯一入口是調(diào)用Singleton的靜態(tài)方法Singleton.getInstance().

          Prototype作用域

            如果需要每次返回Bean的新實例,即每次都新建一個實例,則可以通過設(shè)置scope="prototype"來
          實現(xiàn)。這樣我們就告訴了spring容器采用Prototype作用域。采用prototype作用域時,spring容器總會
          返回一個創(chuàng)建的新實例,因此spring容器一旦將實例交給客戶端,就不再對其進行跟蹤引用了,所以
          無法對prototype作用域的Bean定義destory-method,不過仍可以使用init-method。
          其它三個屬性值僅對WEB程序有效,這里不作討論。



          posted on 2007-10-21 17:55 Ke 閱讀(1184) 評論(0)  編輯  收藏 所屬分類: spring
          主站蜘蛛池模板: 武定县| 安吉县| 高雄县| 南木林县| 文山县| 黄石市| 屏东市| 潮安县| 准格尔旗| 大埔县| 浦北县| 黑水县| 和政县| 琼结县| 台中县| 建水县| 德昌县| 宣汉县| 六枝特区| 阆中市| 黎平县| 布拖县| 资源县| 偃师市| 绥滨县| 太白县| 将乐县| 虹口区| 扎囊县| 伊春市| 万山特区| 台山市| 通州区| 济宁市| 金平| 建昌县| 会理县| 易门县| 台北县| 霍城县| 青冈县|