若依框架定时任务配置自动注入注解不生效

定时任务配置

系统监控>>定时任务,配置很简单,若依框架官方文档也很清楚。
定时任务配置

//controller

@Autowired
TestService testService

@GetMapper("/test")
public AjaxResult ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i){
	return AjaxResult.sucess(testService.test(s,b,l,d,i));
}

这定时任务不简简单单,方便好用。结果一运行,testService空指针异常。@Autowired注解拿不到TestService对象。原来定时任务优先于自动注入运行,所以定时任务执行时自动注入不能生效。所以要自己手动获取bean。在com.ruoyi.common中有一个工具类:SpringUtils.

//controller
@GetMapper("/test")
public AjaxResult ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i){
	TestService bean=SpringUtils.getBean(TestService.class);
	return AjaxResult.sucess(bean.test(s,b,l,d,i));

完美成功。

Logo

快速构建 Web 应用程序

更多推荐