首先定義一個utils工具類: ApplicationContextUtil ,並注冊為 Component
package xin.qust.platform.utils; 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); } }
2. 給與要使用的service定義名字便於引用:
@Service("YuqingReportService") public class YuqingReportService {}
3. 在定時任務中實例化該service對象:
YuqingReportService reportService = (YuqingReportService) ApplicationContextUtil.getBean("YuqingReportService");
reportService.getReport();