原文链接:这里
0.前言
项目需要使用定时任务来触发一些操作,然后接触到quartz这个。花了几分钟看懂了怎么用,这篇文章主要记录下quartz的一些配置用法。
注:本文不涉及从0开始,如何配置quartz,而是说明quartz配置好后如何使用。
需要看从0开始,如何配置quartz的,请看这篇文章。
1.配置文件
在xml配置文件中大概需要4部分。xxxx.xml
1.要调用的工作类
2.定义调用对象和调用对象的方法
3.定义触发时间
4.配置总调度类
1.定义要调用的工作类
<bean id="myTask" class="com.hpaay.controller.warning.MessageController"></bean>
这个地方的id的名字可以随便起,但是要和下面的有对应(详情看下方图解)。class的内容是具体的类,一般是controller层的类。同一个类定义一次即可。
2.定义调用对象和调用对象的方法(任务)
<bean id="job1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref = "myTask"></property>
<property name="targetMethod" value = "getInfo"></property>
对应关系:

上方定义工作类的id,和下方的要调用的类名称保持一致。同时,“调用工作类的哪个方法”指的是,上面出现的getInfo方法,实际上是com.hpaay.controller.warning.MessageController中的一个具体方法,而且一般没有参数。
3.定义触发时间
这个地方不详细讲触发时间的设置,关于触发时间的设置请看这篇文章。
<bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref ="job1"></property>
<property name="cronExpression" value ="0/30 * * * * ?"></property>
对应关系

注意id和ref的对应关系,这样才能连起来。
4.配置总调度类
这个一般配置一次就可以,后面之间在list里面添加就行。当然,你要是觉得不好分类,也可以定义多个
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
对应关系

5.完整代码
如下,供参考。
<bean id="myTask" class="com.hpaay.controller.warning.MessageController"></bean>
<bean id="job1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref = "myTask"></property>
<property name="targetMethod" value = "getInfo"></property>
<bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref ="job1"></property>
<property name="cronExpression" value ="0/30 * * * * ?"></property>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具