SpringApplicationContextHelper初始化context失敗
阿新 • • 發佈:2018-11-22
錯誤描述:
在介面Service中宣告CmdbInfoWebServiceFunction時初始化失敗,
private CmdbInfoWebServiceFunction synchronizationDataWebServiceFunction = (CmdbInfoWebServiceFunction) SpringApplicationContextHelper.getContext().getBean("SynchronizationDataWebServiceFunction");
除錯時發現SpringApplicationContextHelper.getContext()的值為空;
SpringApplicationContextHelper類如下:
package com.eshore.cmdb.common.base.util;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringApplicationContextHelper
{
static{
SpringApplicationContextHelper.context = new ClassPathXmlApplicationContext("spring.xml" );
}
private static ApplicationContext context;
/**
* @return context
*/
public static ApplicationContext getContext()
{
return context;
}
/**
* @param context: 你要設定的context
*/
public static void setContext(ApplicationContext context)
{
SpringApplicationContextHelper.context = context;
}
public static Object getBean(String beanStr)
{
return context.getBean(beanStr);
}
}
在該類中設定context為靜態變數後錯誤消失
static{
SpringApplicationContextHelper.context = new ClassPathXmlApplicationContext("spring.xml");
}