Spring集成Quartz的简单配置的方法

发布时间 - 2026-01-10 22:45:50    点击率:

不过在实际的工作中,很少会直接用到它。通常都是用的spring-quartz组件,直接通过配置,让spring框架来自动装配
如下就是spring框架集成quartz组件,配置定时任务的方法

1. Maven依赖

<dependency> 
  <groupId>org.springframework</groupId> 
  <artifactId>spring-context-support</artifactId> 
  <version>4.0.5.RELEASE</version> 
</dependency> 
<dependency> 
  <groupId>org.quartz-scheduler</groupId> 
  <artifactId>quartz</artifactId> 
  <version>2.2.1</version> 
</dependency> 

其中quartz包是核心包,它负责实现定时任务;spring-context-support包中包含了spring对quartz的集成工具

2. Spring配置

<bean id="task" class="..."></bean> 
<bean id="job" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
  <property name="targetObject" ref="task" /> 
  <property name="targetMethod" value="run" /> 
</bean> 
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
  <property name="jobDetail" ref="job" /> 
  <property name="cronExpression" value="0 0 0 * * ?" /> 
</bean> 
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
  <property name="triggers"> 
    <list> 
      <ref bean="cronTrigger" /> 
    </list> 
  </property> 
  <property name="autoStartup" value="true" /> 
</bean> 

spring对quartz的配置共分四步:

  • 配置实际执行业务逻辑类,即普通的spring bean
  • 配置JobDetail类,如上例中的MethodInvokingJobDetailFactoryBean,该工厂类需要指定执行业务逻辑的bean及调用的方法名
  • 配置Trigger(任务触发)类,如上例中的CronTriggerFactoryBean,是基于cron表达式触发任务,需要指定JobDetail和cron表达式
  • 配置scheduler(定时任务)类,如上例中的SchedulerFactoryBean,是将trigger注册到定时任务中,使trigger生效

以上就是对基本方法调用的任务和基于cron表达式触发的一个定时任务的例子,实际在Java Web项目中也大多采用这种模式


# spring集成quartz  # quartz与spring集成  # spring  # quartz  # 配置  # Spring实现Quartz自动配置的方法详解  # SpringBoot整合Quartz实现动态配置的代码示例  # SpringBoot自动配置Quartz的实现步骤  # Spring Boot 配置 Quartz 定时任务的方法  # springboot整合Quartz实现动态配置定时任务的方法  # 在Java的Spring框架中配置Quartz的教程  # Springquartz的配置方式详解  # 中也  # 共分  # 通常都是  # 包中  # 包含了  # 是基于  # 在实际  # artifactId  # context  # support  # springframework  # gt  # groupId  # org  # scheduler  # Java  # RELEASE  # version  # br  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Blade模板引擎语法_Laravel Blade布局继承用法  BootStrap整体框架之基础布局组件  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  javascript日期怎么处理_如何格式化输出  敲碗10年!Mac系列传将迎来「触控与联网」双革新  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel如何发送系统通知?(Notification渠道示例)  浅谈javascript alert和confirm的美化  文字头像制作网站推荐软件,醒图能自动配文字吗?  Swift中switch语句区间和元组模式匹配  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  ,南京靠谱的征婚网站?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  三星、SK海力士获美批准:可向中国出口芯片制造设备  如何快速配置高效服务器建站软件?  ,交易猫的商品怎么发布到网站上去?  Android使用GridView实现日历的简单功能  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  如何解决hover在ie6中的兼容性问题  zabbix利用python脚本发送报警邮件的方法  详解jQuery中基本的动画方法  如何在万网开始建站?分步指南解析  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何实现事件和监听器?(Event & Listener实战)  jQuery中的100个技巧汇总  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  轻松掌握MySQL函数中的last_insert_id()  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何使用Service Container和依赖注入?(代码示例)  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  实例解析Array和String方法  如何在新浪SAE免费搭建个人博客?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  高端网站建设与定制开发一站式解决方案 中企动力  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  再谈Python中的字符串与字符编码(推荐)  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何用VPS主机快速搭建个人网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何实现建站之星域名转发设置?  怎样使用JSON进行数据交换_它有什么限制  EditPlus中的正则表达式实战(5)  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何在IIS7中新建站点?详细步骤解析  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件