2015-04-03 98 views
1

所以我學習春天依賴注入,並與issue.I've兩類過來......一個是運行類,另一個是建設者 class.The 建設者類有一個靜態方法abc接受多個參數並返回一個類型的對象運行。 它看起來是這樣的:春init方法

public class Run{ 
    private final Check check; 

    public Run(Check check){ 
     this.check = check; 

    } 
    public Check getCheck() { 
     return check; 
    } 
} 

public class Builders { 
    public static Run abc(multiple arguments) { 
     Check check = ProxyImplClass.createCheck(multiple arguments); 
     return new Run(check); 
    } 
} 

我只需要調用一次下面提到的聲明在應用程序啓動。

運行run = Builders.abc(....接受多個參數....);

我該如何使用spring xml?如果在類文件中需要做一些更改,那麼請提一下,因爲我對這個Spring框架還很陌生。

注意:.... abc方法內的多個參數僅表示該方法需要多個參數。

回答

2

您可以使用factory-method屬性<bean>來完成此操作。要使用不同類的static工廠方法,請使用class屬性指定包含該方法的類。

無論參數要傳遞給方法進去<constructor-arg>標籤:

<bean id="run" class="pkg.Builders" factory-method="abc"> 
    <constructor-arg type="..." value="..."> 
    <constructor-arg type="..." value="..."> 
</bean> 
+0

嘿羅希特....感謝您的寶貴時間....只是想知道,是否同樣會被調用應用程序啓動後? – Sandy 2015-04-04 21:20:55

+0

@Sandy是的。如果lazy-init未設置爲true。 – 2015-04-05 04:22:59

+0

感謝羅希特的解決方案...這將爲我做的工作.... :) – Sandy 2015-04-07 17:34:12