靜態變數注入bean的解決方法
阿新 • • 發佈:2019-01-02
解決方法是新建一個類,這個類實現ApplicationContextAware,並重寫setApplicationContext方法。具體請見下面原始碼:
最後的呼叫方法是:SpringContextUtil.getBean(beanName);import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } public static ApplicationContext getApplicationContext() { return applicationContext; } public static Object getBean(String name) throws BeansException{ return applicationContext.getBean(name); } }