<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)
      回復  更多評論   

    主站蜘蛛池模板: 美国免费高清一级毛片| 亚洲视频网站在线观看| 香蕉视频亚洲一级| 亚洲成在人线aⅴ免费毛片| 自怕偷自怕亚洲精品| 91久久成人免费| 亚洲精品免费在线| aa级一级天堂片免费观看| 亚洲伦理中文字幕| 亚洲av午夜福利精品一区人妖| 污污免费在线观看| 亚洲视频在线免费| 男女一边桶一边摸一边脱视频免费| 久久99热精品免费观看动漫| 午夜网站免费版在线观看| 亚洲人成色777777精品| 99久在线国内在线播放免费观看| 亚洲精品高清视频| 国产成人免费午夜在线观看| 久久午夜免费视频| 亚洲好看的理论片电影| 国产免费的野战视频| 亚洲国产成人久久精品软件 | 视频一区在线免费观看| 99久久免费中文字幕精品| 亚洲日韩乱码久久久久久| 成人免费毛片视频| 高清免费久久午夜精品 | 国产大片线上免费观看| 亚洲乱人伦中文字幕无码| 亚洲精品无码专区2| 亚洲日韩中文字幕一区| 亚洲美女在线国产| 一级毛片aaaaaa免费看| 亚洲AV无码精品国产成人| 日本亚洲免费无线码| 免费国产va在线观看| 亚洲av伊人久久综合密臀性色| 中国在线观看免费高清完整版| 杨幂最新免费特级毛片| 亚洲国产精品久久66|