quartz + springboot 注解_SpringBoot定时任务

本文介绍如何在Spring框架中使用Scheduled定时任务器实现定时任务。详细解释了如何将定时任务组件注册到Spring容器中,并介绍了cron表达式的使用。此外,还讨论了解决任务类中对象注入问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scheduled 定时任务器

Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器。

pom.xml

<project 

@Scheduled:设置定时任务

如果要在spring 中使用定时任务,需要将定时任务的组件注册到 spring 容器中,在该类上面添加 @Component 注解。

cron 表达式可以参考之前的知乎。女巫在说谎:Quartz

fdda4d475a18852aa4c0997f8305ab0a.png

编写启动类测试

SpringBoot 默认是没有开启定时任务功能的,需要手动添加注解。

3238c8e51dfa4a833d588fbb4adec16c.png

springboot定时任务

pom.xml

<project 

定时任务

public 

配置类

@Configuration

启动类

@SpringBootApplication

当需要在任务类中注入其他对象,需要注意

在 job 类中注入对象会产生异常,这是因为该对象是没有注册到 Spring 容器中的,所以会产生异常。

其实 job 类在创建任务类的时候是通过反射来创建的,那么 spring 相关的功能在job类中是无法被使用的,那么在 job 类中是没有办法注入其他对象的。

55a882d9e2ef4e448ca3def472f26d8e.png

编写一个 MyAdaptableJobFactory 解决该问题

继承 AdaptableJobFactory ,重写创建 job 类的方法, 手动将该类添加到 springIoC容器中,完成对象注入。

2fb96bdd92f38dbfbd459331c3706483.png

修改 QuartzConfig 类

c1e3204f03c04934239f382bf18e51bc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值