spring 使用@scheduled注解执行定时任务

spring 第13天 使用@scheduled注解执行定时任务


使用spring的注解 @Scheduled 执行定时任务  
创建spring-task.xml 文件 

<!---加入:xmlns:task="http://www.springframework.org/schema/task"-->  
   
<?xml version="1.0" encoding="UTF-8"?>    
<beans xmlns="http://www.springframework.org/schema/beans"    
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
    xmlns:tx="http://www.springframework.org/schema/tx"    
    xmlns:aop="http://www.springframework.org/schema/aop"    
    xmlns:context="http://www.springframework.org/schema/context"    
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xmlns:task="http://www.springframework.org/schema/task"    
    xsi:schemaLocation="http://www.springframework.org/schema/beans       
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd       
    http://www.springframework.org/schema/tx       
    http://www.springframework.org/schema/tx/spring-tx-3.2.xsd     
    http://www.springframework.org/schema/aop    
    http://www.springframework.org/schema/aop/spring-aop-3.2.xsd     
    http://www.springframework.org/schema/context      
    http://www.springframework.org/schema/context/spring-context-3.2.xsd      
    http://www.springframework.org/schema/mvc    
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd  
    http://www.springframework.org/schema/task    
    http://www.springframework.org/schema/task/spring-task-3.2.xsd  
   ">    
  
<task:annotation-driven /> <!-- 定时器开关-->    
    
    <bean id="myTaskXml" class="com.spring.task.MyTaskXml"></bean>    
    
    <task:scheduled-tasks>    
        <!--   
            这里表示的是每隔五秒执行一次   
        -->    
        <task:scheduled ref="myTaskXml" method="show" cron="*/5 * * * * ?" />    
        <task:scheduled ref="myTaskXml" method="print" cron="*/10 * * * * ?"/>    
    </task:scheduled-tasks>    
        
    <!-- 自动扫描的包名 -->      
    <context:component-scan base-package="com.spring.task" />   

//编写我们的任务程序 


  1. public interface IMyTestService {    
  2.        public void myTest();    
  3. }    
  4.   
  5. @Component  //import org.springframework.stereotype.Component;    
  6. public class MyTestServiceImpl  implements IMyTestService {    
  7.       @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次    
  8.       @Override    
  9.       public void myTest(){    
  10.             System.out.println("进入测试");    
  11.       }    
  12. }   


cron-like 表达式 

字段 允许值 允许的特殊字符    
秒 0-59 , - * /    
分 0-59 , - * /    
小时 0-23 , - * /    
日期 1-31 , - * ? / L W C    
月份 1-12 或者 JAN-DEC , - * /    
星期 1-7 或者 SUN-SAT , - * ? / L C #    
年(可选) 留空, 1970-2099 , - * /    
表达式意义    
"0 0 12 * * ?" 每天中午12点触发    
"0 15 10 ? * *" 每天上午10:15触发    
"0 15 10 * * ?" 每天上午10:15触发    
"0 15 10 * * ? *" 每天上午10:15触发    
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发    
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发    
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发    
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发    
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发    
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发    
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发    
"0 15 10 15 * ?" 每月15日上午10:15触发    
"0 15 10 L * ?" 每月最后一日的上午10:15触发    
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发    
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发    
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发    
每天早上6点    
0 6 * * *    
每两个小时    
0 */2 * * *    
晚上11点到早上8点之间每两个小时,早上八点    
0 23-7/2,8 * * *    
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点    
0 11 4 * 1-3    
1月1日早上4点    
0 4 1 1 *    



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值