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

    主站蜘蛛池模板: 无码少妇精品一区二区免费动态| 日韩在线观看视频免费| 98精品全国免费观看视频| 一本一道dvd在线观看免费视频| 女人18毛片水真多免费看| 亚洲国产日韩综合久久精品| 人碰人碰人成人免费视频| 又黄又爽无遮挡免费视频| 国产亚洲蜜芽精品久久| va亚洲va日韩不卡在线观看| 日本高清免费中文在线看| 国产中文在线亚洲精品官网| 日韩免费码中文在线观看| 不卡一卡二卡三亚洲| 日韩av无码免费播放| 久久水蜜桃亚洲av无码精品麻豆| 16女性下面扒开无遮挡免费| 亚洲区视频在线观看| 午夜时刻免费入口| 免费人成又黄又爽的视频在线电影| 亚洲国产成人精品无码久久久久久综合 | 亚洲av最新在线观看网址| 成人亚洲综合天堂| aaa毛片免费观看| 日韩一级免费视频| 成在线人直播免费视频| 亚洲va久久久噜噜噜久久 | 精品免费国产一区二区三区 | 国产成人综合久久精品免费| 又大又硬又粗又黄的视频免费看 | 青青久在线视频免费观看| 亚洲人成在线影院| 成人免费午夜无码视频| 美女扒开尿口给男人爽免费视频| 亚洲伊人久久成综合人影院| 日韩精品极品视频在线观看免费| 亚洲色在线无码国产精品不卡| 在线视频免费观看高清| 日本一区二区在线免费观看| 亚洲男人第一av网站| 国产在线不卡免费播放|