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

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

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

    即興的靈感

    思維是一種藝術; 藝術需要靈感。

    博客好友

    最新評論

    Spring筆記之六(IoC Singleton)

    ???Spring中BeanFactory支持兩個對象模型

    <!--[if !supportLists]--> <!--[endif]--> 單態:模型提供了具有特定名稱的對象的共享實例,可以在查詢時對其進行檢索。Singleton 是默認的也是最常用的對象模型。對于無狀態?? 服務對象很理想。

    <!--[if !supportLists]--> 原型:模型確保每次檢索都會創建單獨的對象。在每個用戶都需要自己的對象時,原型模型最適合。

    實例:

    ?1??<??beans??>
    ?2? ??????
    ?3???????<!--?non-singleton?examples?-->

    ?4??????<bean?id="nonSingleton"?class="java.lang.String"?singleton="true">
    ?5??????????<constructor-arg>
    ?6???????????????<value>Value</value>
    ?7??????????</constructor-arg>
    ?8???????</bean>
    ?9? ??
    10??</beans>

    11?
    12?singleton:指定此JavaBean是否采用單例(Singleton)模式,如果設為"true",則在BeanFactory作用范圍內,只維護此JavaBean??的一個實例,代碼通過BeanFactory???獲得此JavaBean??實例的引用。反之,如果設為"false",則通過BeanFactory獲取此Java?Bean??實例時,BeanFactory每次都將創建一個新的實例返回。

    ???

    ???? 1?public?class ?NonSingleton?{
    ?2?

    ?3?public?static?void ?main(String[]?args)?{
    ?4?
    ?
    ?5?BeanFactory?factory?=?new?XmlBeanFactory(new
    ?FileSystemResource(
    ?6?????????????????????"build/beans.xml"
    ));
    ?7?
    ???????
    ?8????String?s1?=?(String)factory.getBean("nonSingleton"
    );
    ?9????String?s2?=?(String)factory.getBean("nonSingleton"
    );
    10????System.out.println("Identity?Equal?:?"?+?(s1?==
    s2));
    11????System.out.println("Value?Equal:??"?+
    ?s1.equals(s2));
    12?
    ???System.out.println(s1);
    13?
    ???System.out.println(s2);
    14?
    ?}
    15?}

    ?? 分析結果:

    ?? Identity Equal?: true
    Value Equal:? true
    Value
    Value

    ?? 由結果可以看出由fantory產生的bean對象只有一個。


    ? 注意: Spring中消除了由用戶自己來實現Singleton模式的應用,Spring Bean的缺省行為就是Singleton,不必再為了Singleton編碼。



    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
    ???? 隱姓埋名/低調華麗/簡單生活/完美人生

    posted on 2007-09-26 13:22 poetguo 閱讀(4492) 評論(1)  編輯  收藏 所屬分類: Spring

    評論

    # re: Spring筆記之六(IoC Singleton)[未登錄] 2008-08-10 15:34 mjgforever

    singleton為true,程序正常。將singleton設置為false,程序為什么報錯?
    <bean id="nonSingleton" class="java.lang.String" singleton="false">
    <constructor-arg>
    <value>Value</value>
    </constructor-arg>
    </bean>


    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nonSingleton' defined in file [E:\Java\workspace\Spring_Singleton\build\beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [java.lang.String]: Illegal arguments for constructor; nested exception is java.lang.IllegalArgumentException: argument type mismatch
    Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [java.lang.String]: Illegal arguments for constructor; nested exception is java.lang.IllegalArgumentException: argument type mismatch
    Caused by: java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:795)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:713)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:268)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at spring.singleton.NonSingleton.main(NonSingleton.java:15)
      回復  更多評論   

    主站蜘蛛池模板: 亚洲va精品中文字幕| 91视频免费观看| 美女视频黄是免费的网址| 黄瓜视频高清在线看免费下载| 国产公开免费人成视频| 亚洲AV无码1区2区久久| 亚洲AV无码一区二区乱子仑| 蜜桃视频在线观看免费网址入口| 亚洲国产精品成人精品软件| 福利免费观看午夜体检区| 丁香婷婷亚洲六月综合色| 四虎影视在线影院在线观看免费视频 | 亚洲福利视频导航| 免费在线中文日本| 亚洲短视频男人的影院| 日韩精品福利片午夜免费观着| 亚洲色少妇熟女11p| 无码精品一区二区三区免费视频 | 丁香花在线观看免费观看图片| 亚洲中文字幕无码一区二区三区| 亚洲国产午夜精品理论片在线播放| 69精品免费视频| 国产精品亚洲精品| 免费一级毛片一级毛片aa| 在线免费视频你懂的| 亚洲情a成黄在线观看动漫尤物| 国产曰批免费视频播放免费s| 亚洲第一视频网站| 久久精品a一国产成人免费网站| 国产精品亚洲精品久久精品| 亚洲无码精品浪潮| 99re热精品视频国产免费| 麻豆狠色伊人亚洲综合网站| 亚洲国产精品丝袜在线观看| 91久久青青草原线免费| 亚洲爆乳AAA无码专区| 国产V亚洲V天堂A无码| 免费视频精品一区二区三区 | 日韩免费高清大片在线| 亚洲高清毛片一区二区| 亚洲AV永久无码精品水牛影视|