<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 閱讀(4493) 評論(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)
      回復  更多評論   

    主站蜘蛛池模板: 国产国拍亚洲精品福利| 97免费人妻无码视频| 好爽…又高潮了免费毛片| 亚洲欧洲第一a在线观看| AAAAA级少妇高潮大片免费看| 免费看国产一级特黄aa大片| 亚洲日韩国产二区无码| 欧美在线看片A免费观看| 亚洲专区一路线二| 色se01短视频永久免费| 中文字幕亚洲综合小综合在线| 国产免费一区二区三区| 久久精品国产精品亚洲毛片| 114级毛片免费观看| 亚洲麻豆精品果冻传媒| 91高清免费国产自产| 亚洲国产精品久久人人爱| 18禁男女爽爽爽午夜网站免费| 久久久久亚洲AV无码永不| 18pao国产成视频永久免费| 亚洲小说图片视频| 两个人的视频高清在线观看免费 | 亚洲香蕉在线观看| 国产精品免费网站| 国产精品无码亚洲精品2021| 国产免费小视频在线观看| 羞羞视频免费网站入口| 国产黄色一级毛片亚洲黄片大全| h在线看免费视频网站男男| 亚洲欧洲精品无码AV| 亚洲视频免费一区| 无码国产精品一区二区免费| 国产亚洲精品影视在线| 亚洲?V乱码久久精品蜜桃 | 国产亚洲欧美日韩亚洲中文色| 免费国产人做人视频在线观看| 9i9精品国产免费久久| 亚洲国产人成在线观看69网站| 1000部拍拍拍18勿入免费视频软件 | 波多野结衣中文字幕免费视频| 亚洲国产精品午夜电影|