Spring 定时器的配置

本文深入解析了使用Spring配置定时器的环境准备、关键组件及其配置细节,详细介绍了如何设置时间表达式来实现特定的定时任务执行,包括秒、分、时、日期、月份和星期的配置规则,并提供了多个实例来说明不同场景下的时间表达式应用。

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

Spring 定时器的配置详解

一、配置Spring定时器的环境准备

     1. 当然是Spring的核心包
     2. jta.jar 会用到包中的usertransaction
     3. quartz.jar 会用到CronTrigger这个类,表示计时功能所用到的
     4. commons-collections.jar集合工具包
     (在这里我没有给出固定的版本号,只描述核心包名称)

二、配置Spring文件
<span style="font-size: 24px; white-space: pre;">	</span><span style="font-size:14px;"><!-- 定时任务 start -->
	  <!-- 定时器需要执行的代码-->
 	  <bean id="dataUtil" class="cn.itcast.oa.task.DataUtil"/>
 	 
 	  <!--设定执行代码中的具休方法-->
	  <bean id="db_back_up" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<span style="white-space: pre;">	</span>     <property name="targetObject">
		<ref bean="dataUtil" /><!--关联的bean--> 
	     </property>
	     <property name="targetMethod">
		<value>export</value><!--关联的bean的方法-->
	     </property>
	 </bean>
	
	 <!-- 定时器时间与方法的设定 -->
	 <bean id="db_utils" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <span style="white-space: pre;">	</span>     <property name="jobDetail">
		<ref bean="db_back_up" />
	     </property>
	     <property name="cronExpression">
	     <!-- 每月的最后一个星期五23:55执行备份数据库操作 -->
		<value>0 30 23 ? * 6L</value>
	     </property>
	 </bean>
	
	 <!-- 定时器执行 -->
	 <bean lazy-init="false" class="org.springframework.scheduling.<span style="white-space: pre;">		</span>quartz.SchedulerFactoryBean">
	     <property name="triggers">
		<list>
		   <ref bean="db_utils" />
		</list>
	     </property>
	 </bean>
	 <!-- 定时任务end --></span>
三、定时器的时间表达式
0-59, - * /
0-59, - * /
0-23, - * /
日期 1-31, - * ? / L W C
月份 1-12或者JAN-DEC, - * /
星期 1-7或者SUN-SAT, - * ? / L C #
年(可选) 留空, 1970-2099, - * /
例子:
每月的第三个星期五上午10:00触发 ------ 0 0 10 ? * 6#3
每天早上6:00 ------ 0 0 6 * * *
每天中午12点触发    ------ 0   0    12    *    *   ?
每天上午10:
00触发   ------ 
0 0 10    ?    *    *
每两个小时    ------ 0 0 */2 * * *  
  ------ 0 0 8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值