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

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

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

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks

    #

             spring中注入方式有多中,如構造方法,SET/GET方法等.lookup方法注入有些與其它的不一樣,此方法注入常用來得到一個非單例對象.
    lookup方法注入利用了spring ioc容器重寫bean抽象(或)具體方法的能力,從而返回指定名字的bean實例.一般用來得到一個非單例對象.
             如果方法不是抽象的,spring回簡單地覆蓋已有的實現,在基于XML的配置文件中,通過在bean定義中使用lookup-method元素來告訴Spring所要足入/覆蓋的方法將要返回的實際bean


    Random.java

    package com.test;

    public class Random {
     private int i = (int) (100 * Math.random());

     public void printRandom() {
      System.out.println("輸出隨機整數:  " + i);
     }

    }
    ------------------------------------------------
    HelloRandom.java

    package com.test;

    public interface HelloRandom {
     public Random getRandom();
        public Random createRandom();

    }

    -------------------------------------------------
    HelloRandomAbstract.java

    package com.test;

    public abstract class HelloRandomAbstract implements HelloRandom{
     private Random random;

     public Random getRandom() {
      return random;
     }

     public void setRandom(Random random) {
      this.random = random;
     }
        //此方法建議是抽象的
     public abstract Random createRandom();

    }

    ---------------------------
    XML文件如下:
    <bean id="random" class="com.test.Random" singleton="false"/>
       
        <bean id="helloRandomAbstract" class="com.test.HelloRandomAbstract">
       
            <lookup-method name="createRandom" bean="random"/>
           
            <property name="random">
                <ref local="random"/>
            </property>
         </bean>

    helloRandomAbstract對象有2中方式可以得到Random對象:通過getRandom() 方法,通過createRandom()方法;
    兩者有什么不同呢,前一中方法得到的同一個對象,也就是說只要getRandom(),得到的都是同一個方法;后一種方法調用一次createRandom(),每次調用得到的都是性的Random對象.這就象前面說的spring ioc容器重寫bean抽象(或)具體方法的能力,從而返回指定名字的bean實例.一般用來得到一個非單例對象.

    另外還有一種方法可以實現類似功能:
    <bean id="random" class="com.test.Random" scope="prototype"/>,因為prototype范圍的bean,在沒一次請求都會生成一個新的對象,就象是用new Random()一樣;不足是,此屬性只有在早期版本的spring不支持!
    posted @ 2008-08-11 16:31 二胡 閱讀(347) | 評論 (0)編輯 收藏

    僅列出標題
    共165頁: First 上一頁 125 126 127 128 129 130 131 132 133 下一頁 Last 
    主站蜘蛛池模板: 一级毛片人与动免费观看| 亚洲日韩国产二区无码| 一级毛片视频免费| 免费又黄又爽的视频| 亚洲av中文无码乱人伦在线观看| 久久久久亚洲精品美女| 中文字幕一区二区免费| 亚洲日韩av无码| 人妻丰满熟妇无码区免费| 成人免费毛片观看| 亚洲精品午夜国产va久久| 久久最新免费视频| 国产AV无码专区亚洲AV手机麻豆| 亚洲综合色丁香婷婷六月图片 | 亚洲免费在线视频播放| 国产成人无码免费网站| 亚洲色精品88色婷婷七月丁香| 在线观看免费黄网站| 亚洲黄网站wwwwww| 两个人看的www免费| 亚洲91av视频| 久久精品网站免费观看| 精品国产亚洲第一区二区三区| 久久久久亚洲精品男人的天堂| 黄页免费在线观看| 亚洲高清偷拍一区二区三区| 久久成人18免费网站 | 亚洲精品无码久久久久AV麻豆| 亚洲国产精品xo在线观看| 久久精品免费一区二区喷潮| 黄色大片免费网站| 免费真实播放国产乱子伦| 久久精品成人免费观看97| 亚洲人妖女同在线播放| 免费A级毛片无码A∨男男| 久久国产乱子伦精品免费不卡| 亚洲AV成人影视在线观看| 国产亚洲午夜高清国产拍精品 | 1000部啪啪毛片免费看| 亚洲国产人成在线观看69网站 | 一个人在线观看视频免费|