在我的spring配置文件中,我聲明瞭一個通過靜態工廠方法實例化的bean。工廠方法調用一些遠程服務。工廠方法返回null,因爲它無法訪問遠程服務。在Spring中從工廠方法返回null
當工廠方法返回null時,我的問題一切都出錯了。並且彈簧初始化失敗。
如果工廠方法無法調用遠程服務,我真的想將bean設置爲null。我的配置文件的
部分如下:
<bean id="Helper" class="com.test.Helper">
<constructor-arg ref="myBean" />
</bean>
<bean id="myBean" class="com.test.Factory" factory-method="getBean" />
中的getBean()方法如下:
Factory {
public static Bean getBean() throws Exception{
try {
//Invokes some Remote Services and does some processing
....
....
//returns bean object
}catch(Exception e) {
return null;
}
}
}
請幫助我,我怎麼能解決這個問題。
你有一個堆棧跟蹤和一些代碼嗎? – Ralph 2012-03-15 14:14:38
提供堆棧跟蹤 – Bozho 2012-03-15 14:46:59
不要返回'null'。您將得到NullPointerExceptions,並且您將無法確定是否因爲您錯誤地配置了Spring或服務器不可用。查看Null Object模式以獲取默認返回值。 – artbristol 2012-03-15 16:15:52