import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component public class ApplicationContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; public static ApplicationContext getApplicationContext() { return applicationContext; } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { ApplicationContextUtil.applicationContext = applicationContext; } public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } }
調用:
AppLogServiceImpl appLogService = (AppLogServiceImpl) ApplicationContextUtil.getBean("appLogServiceImpl");
Ps: getBean中名稱是Service中的名稱,如果Service中沒有自定義名稱,那就把實現類的首字母小寫即可。