`
Luob.
  • 浏览: 1596250 次
  • 来自: 上海
社区版块
存档分类
最新评论

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" /> 




//编写我们的任务程序
public interface IMyTestService {  
       public void myTest();  
}  

@Component  //import org.springframework.stereotype.Component;  
public class MyTestServiceImpl  implements IMyTestService {  
      @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次  
      @Override  
      public void myTest(){  
            System.out.println("进入测试");  
      }  
} 



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 *  
分享到:
评论

相关推荐

    spring 定时器cron表达式生成

    2. 注解定时任务:在需要执行定时任务的方法上添加`@Scheduled(cron = "your_cron_expression")`。 ```java @Service public class MyTaskService { @Scheduled(cron = "0 30 8 * * ?") public void executeTask...

    SpringBoot定时任务实现Oracle和mysql数据同步

    首先,我们需要了解Spring Boot中的定时任务是通过`@Scheduled`注解实现的,它来自于Spring的Task模块。这个注解可以标记在方法上,使得该方法按预定的时间间隔执行。例如: ```java import org.springframework....

    Spring Boot 学习笔记完整教程.docx

    - **使用 Spring Task**:配置定时任务,利用 `@Scheduled` 注解定义周期性任务。 13. **普通类调用 Bean** - **非 Spring 容器中的 Bean 访问**:在非 Spring 管理的类中使用 `ApplicationContextAware` 获取 ...

    Spring Boot 系列实战合集.7z

    14. **定时任务(Task Scheduling)**:可以使用 Spring 的 @Scheduled 注解来实现定时任务,或者集成 Quartz 进行更复杂的调度。 15. **邮件服务**:通过配置和使用 JavaMailSender 接口,可以方便地发送电子邮件...

    pro spring

    书中介绍了如何使用Spring的`@Scheduled`注解来定义定时任务,以及如何配置任务调度器。 综上所述,《Pro Spring》这本书全面而深入地介绍了Spring框架的各项技术细节,适合于各个层次的Java开发者阅读。无论是初学...

Global site tag (gtag.js) - Google Analytics