spring3.0定时任务 (一) 简单示例

时间:2022-11-04 07:49:53


spring3.0定时任务 (一) 简单示例

10409人阅读 评论(16)收藏举报 spring3.0定时任务 (一) 简单示例分类:

        在项目中经常用到的spring的一个功能就是定时任务,它可以自动监视时间,到点就执行,给程序带来了很大的方便,很多地方都会需要这种功能,比如做数据备份、同步等操作。最近一直比较忙,主要是比较懒,今天把这部分稍作小结。

       使用spring定时任务的前提:项目中已经搭建好了spring环境(我用的是spring3.0)。

       一、基本使用:

        spring的定时任务使用起来十分方便,只需要两步:1、写好执行定时任务的类和方法;2、配置spring定时任务配置文件:

        1、写好执行定时任务的类和方法:

[java] view plain copy
  1. package com.test;  
  2.   
  3. public class Test {  
  4.   
  5.     public void test() {  
  6.         System.out.println("执行定时任务的方法。");  
  7.     }  
  8. }  
        2、配置spring的定时任务配置文件(可以新建一个xml文件,也可以在已经有的xml文件中配置)

配置文件内容:

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.        xmlns:aop="http://www.springframework.org/schema/aop"  
  5.        xmlns:tx="http://www.springframework.org/schema/tx"  
  6.        xmlns:context="http://www.springframework.org/schema/context"  
  7.        xsi:schemaLocation="  
  8.        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  9.        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
  10.        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
  11.        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  12.   
  13.    <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
  14.          
  15.         <!--必须,QuartzScheduler 延时启动,应用启动后 QuartzScheduler 再启动-->  
  16.         <property name="startupDelay" value="60"/>          
  17.         <!-- 普通触发器 :触发器列表-->  
  18.         <property name="triggers">  
  19.             <list>                  
  20.                 <ref local="<span style="color:#ff0000;">testTrigger</span>"/>  
  21.             </list>  
  22.         </property>  
  23.     </bean>  
  24.   
  25. <!-- 配置执行定时任务的类和方法 -->   
  26.     <bean id="<span style="color:#ff0000;">testDetail</span>"    
  27.         class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">    
  28.         <property name="targetObject">    
  29.             <bean class="<span style="color:#ff0000;">com.test.Test</span>"></bean>  
  30.         </property>    
  31.         <property name="targetMethod">    
  32.             <value><span style="color:#ff0000;">test</span></value>    
  33.         </property>    
  34.     </bean>  
[html] view plain copy
  1. <!-- 配置触发器 -->     
  2.     <bean id="<span style="color:#ff0000;">testTrigger</span>"    
  3.         class="org.springframework.scheduling.quartz.CronTriggerBean">    
  4.         <property name="jobDetail">    
  5.             <ref bean="<span style="color:#ff0000;">testDetail</span>"/> <!-- 触发器触发的 执行定时任务的bean -->     
  6.         </property>    
  7.         <property name="cronExpression">    
  8.             <!-- 每天23时   -->  <!-- 定时任务执行的间隔 -->   
  9.             <value>0 0 23 * * ?</value>  
  10.         </property>    
  11.     </bean>    
  12. </beans>  
       二、spring定时任务的执行间隔配置、多个定时任务的配置(请点击)