试试这样?
@Service
public class TimeScheduler {
private static TimeScheduler timeScheduler;
@PostConstruct
public void init() {
timeScheduler = this;
timeScheduler.workOrderService = this.workOrderService;
}
@Autowired
private WorkOrderService workOrderService;
public void task1() throws Exception {
timeScheduler.workOrderService.deleteAll();//删除数据
}
可以使用Spring的ApplicationContext
来获取Bean,并在线程中使用,不过强烈不推荐
定时任务那块被spring管理了吗
springutil.getbean试试,新手小白,说错了,各位佬轻点喷
让我来。远程码发来,在线等。解决了说下。我就不等了
没看到service相关注解,我个人认为 没有
模仿原先老员工的写法 看看有没有效果
paymentSlipPushService = (PaymentSlipPushService) SpringContextUtil.getBean(“paymentSlipPushService”)
BeanUtil.getProxyLogic(PaymentSlipPushService.class).findPaymentSlip();
public class BeanUtil {
public static <T> T getProxyLogic(Class<T> objClass) {
ApplicationContext ctx = ApplicationContextProvider.getApplicationContext();
return ctx.getBean(objClass);
}
}
不知道行不行,试试看
1 个赞
那可能就是定时任务没被spring管理,无法使用依赖注入
还真是这个问题,解决了
1 个赞
还得是老员工的代码啊
老项目看是2013年写的,就按他的规则来做,改动最小。
api请求在spring的框架内,
定时任务new了新的线程,得用spring工具类拿bean
解决了!!!
什么时候能用上Spring Boot啊
L站人真厉害
不清楚代码的情况下,复用老代码啊,没必要折腾