1. 程式人生 > >SpringApplicationContextHelper初始化context失敗

SpringApplicationContextHelper初始化context失敗

錯誤描述:
在介面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");
    }