2010-10-11 135 views
1

我有一個靜態類ResourceFetcher與靜態方法fetchResource(String reference)。我想將它返回的資源注入另一個類JobRunner。任何人都可以指定最乾淨的方式嗎?我不想將ResourceFetcher轉換成JobRunner。實際上,我有一個帶有一組鍵的enum,我需要將鍵值對映射到JobRunner,並通過調用fetchResource獲得值。彈簧注射問題

Onething要說明的是,ResourceFetcherfetchResource返回類型的對象預先String

感謝。

回答

0

如果fetchResource方法在ResourceFetcher上是靜態的,爲什麼JobRunner不能簡單地引用它?我沒有看到需要注入ResourceFetcher。

+0

如果ResourceFetcher如果我想要將10個類文件中的sql文件轉換爲sql字符串,這將如何通用?準確地說,我在JobRunner - Map queryTempl中有一個靜態映射,其中的每個值都是從ResourceFetcher作爲String獲取的sql查詢。我想知道這是否是正確的方式去做事情。 – kuriouskat 2010-10-11 19:00:23

2
<bean id="resource" class="com.x.y.ResourceFetcher" factory-method="fetchResource"> 
    <constructor-arg value="someReference"/> 
</bean> 

然後,您可以將resource注入到您的JobRunner bean中。

+0

太好了。這也是我所期待的。如果工廠方法返回的對象不是類ResourceFetcher的類型,該怎麼辦? – kuriouskat 2010-10-11 18:57:51

+0

@kuriouskat:bean類型將是方法返回的任何內容,「ResourceFetcher」的類型與結果無關。 – skaffman 2010-10-11 19:23:04