`
vicky_luo
  • 浏览: 19397 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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

 
阅读更多

 

  1.   
  2. 第一步:配置spring.xml
  3. <beans
  4.   xmlns="http://www.springframework.org/schema/beans" 

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xmlns:p="http://www.springframework.org/schema/p" 

        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.0.xsd

        http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

        http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

        http://www.springframework.org/schema/context 

        http://www.springframework.org/schema/context/spring-context-3.0.xsd

        http://www.springframework.org/schema/mvc 

        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

        http://www.springframework.org/schema/task

        http://www.springframework.org/schema/task/spring-task-3.2.xsd">

  5. <context:annotation-config/>
  6. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
  7. <task:annotation-driven/>
  8. <!--扫描的是com.crm.web这样的包下的内容-->
  9. <context:component-scan base-package="com.crm.web" />
  10. 第二步:接口和实现
  11. package com.crm.web;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.scheduling.annotation.Scheduled;
  14. import org.springframework.stereotype.Component;
  15. @Component
  16. public class MyTask {
  17. @Scheduled(cron="0 0 1 * * ?") //每天1点触发
  18. //  @Scheduled(cron="0/60 * * * * ? ") //间隔60秒执行  
  19.  public void taskCycle(){ 
  20.  System.out.println("呵呵");
  21.  }
  22. cron的取值参考:
  23. /**
  24. 秒 0-59 , - * /
  25. 分 0-59 , - * /
  26. 小时 0-23 , - * /
  27. 日期 1-31 , - * ? / L W C
  28. 月份 1-12 或者 JAN-DEC , - * /
  29. 星期 1-7 或者 SUN-SAT , - * ? / L C #
  30. 年(可选)留空, 1970-2099 , - * /
  31. 表达式意义
  32. "0 0 12 * * ?" 每天中午12点触发
  33. "0 15 10 ? * *" 每天上午10:15触发
  34. "0 15 10 * * ?" 每天上午10:15触发
  35. "0 15 10 * * ? *" 每天上午10:15触发
  36. "0 15 10 * * ? 2005" 2005年的每天上午10:15触发
  37. "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
  38. "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
  39. "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
  40. "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
  41. "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
  42. "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
  43. "0 15 10 15 * ?" 每月15日上午10:15触发
  44. "0 15 10 L * ?" 每月最后一日的上午10:15触发
  45. "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
  46. "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
  47. "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
  48. * **/
分享到:
评论

相关推荐

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

    ### 使用Spring `@Scheduled` 注解执行定时任务 在现代软件开发中,特别是企业级应用领域,定时任务处理是一项常见的需求。例如,自动备份数据库、定时发送报告邮件、定期清理缓存等。Spring 框架自3.0版本起引入了...

    Spring @Scheduled定时任务动态修改cron参数

    `@Scheduled`注解是Spring Framework中用于创建定时任务的重要工具,它允许开发者在不重启应用的情况下,实现定时任务的动态配置,特别是修改cron表达式来调整执行周期。 在Spring中,定时任务主要通过`@Scheduled`...

    Spring Boot中的@Scheduled注解:定时任务的原理与实现

    ### Spring Boot中的@Scheduled注解:定时任务的原理与实现 #### 一、引言 在现代软件开发中,定时任务是一种非常常见的需求。无论是数据同步、定期清理缓存还是发送提醒邮件,都需要应用程序能够在特定的时间点...

    Spring定时任务@Scheduled例子

    在Spring框架中,定时任务是实现自动化操作的重要组成部分,它允许开发者在预设的时间间隔执行特定的任务。`@Scheduled`注解是Spring提供的一个强大工具,用于声明式地配置定时任务,无需编写复杂的线程管理和调度...

    spring boot @scheduled定时任务配置

    在Spring Boot框架中,`@Scheduled`注解是用于创建定时任务的重要工具,它使得开发者无需依赖外部的任务调度器如Quartz或CronJob,就能在应用内部轻松地实现周期性的任务执行。这个特性极大地简化了Java应用中的定时...

    spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    "spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法" Spring Boot 中的定时任务是通过 @Scheduled 注解来实现的,该注解可以将方法标记为定时任务,Spring Boot 会自动发现并执行这些方法。@...

    SpringBoot中使用@Scheduled注解创建定时任务的实现

    SpringBoot中使用@Scheduled注解创建定时任务的实现 SpringBoot中使用@Scheduled注解创建定时任务的实现是指在SpringBoot项目中使用@Scheduled注解来实现定时任务的方法。在SpringBoot项目中,使用@Scheduled注解...

    Spring-task定时任务

    Spring-task是Spring框架的一部分,它为开发者提供了强大的任务调度和执行功能,使得在Java应用中实现定时任务变得简单易行。本文将深入探讨Spring-task的注解方式和XML配置方式的使用,以及如何在实际项目中进行...

    详解Spring Boot中使用@Scheduled创建定时任务

    Spring Boot 框架为我们提供了多种方式来创建定时任务,其中一种方式是使用 @Scheduled 注解。@Scheduled 是 Spring Framework 中的一种注解,用于标记需要定时执行的方法。今天,我们将详细介绍如何使用 @Scheduled...

    Spring框架-SpringBoot-定时任务-深入教程.pdf

    - `@EnableScheduling`注解用于启动定时任务调度器,它会在Spring容器启动时扫描带有`@Scheduled`注解的方法,并按照配置的Cron表达式安排执行。 - `@Scheduled`注解标记在方法上,表示该方法为一个定时任务。例如...

    Spring boot如何通过@Scheduled实现定时任务及多线程配置

    Spring Boot 框架提供了多种方式来实现定时任务,包括使用 `@Scheduled` 注解和使用 Quartz 等第三方库。在本文中,我们将详细介绍如何使用 `@Scheduled` 注解来实现定时任务,并且探讨多线程配置的实现方式。 使用...

    Spring框架-SpringBoot-定时任务-深入教程.docx

    默认情况下,Spring Boot的定时任务使用单线程执行,这意味着多个定时任务会按照它们的定义顺序串行执行。如果某个任务执行时间过长,会导致后续任务阻塞,无法按时执行。这可以通过增加线程池大小来改善。例如,...

    spring 定时任务@Scheduled详解

    在Spring框架中,定时任务是通过`@Scheduled`注解实现的,该注解提供了灵活的方式来安排任务在特定时间执行。下面将详细讲解如何配置和使用`@Scheduled`,以及其相关的cron表达式。 首先,要启用Spring的定时任务...

    spring注解Quartz定时执行功能

    再使用Quartz的`@DisallowConcurrentExecution`(防止并发执行)和`@PersistJobDataAfterExecution`(持久化任务数据)注解,以及Spring的`@Scheduled`注解来定义定时任务。例如: ```java import org.quartz.Job; ...

    @scheduled任务调度使用详解及@scheduled与多线程和@Async异步任务结合使用

    在Spring Boot框架中,`@Scheduled`注解是用于实现定时任务的核心工具,它使得开发者可以轻松地在应用中设置周期性的任务执行。本篇文章将深入讲解`@Scheduled`的使用方法,以及如何将其与多线程和`@Async`异步任务...

    spring之定时任务实现(spring-task和quartz等不同方式)

    使用`@Scheduled`注解,我们可以很方便地在任何可注入的bean上声明一个方法为定时任务。例如: ```java @Service public class TaskService { @Scheduled(fixedRate = 5000) public void executeTask() { // ...

    Java课程实验 Spring Boot 任务管理(源代码+实验报告)

    1.在Spring Boot中,你可以使用@Scheduled注解来创建定时任务。将@Scheduled注解与方法一起使用,指定任务执行的时间表达式。 2.使用Spring的TaskScheduler: Spring提供了TaskScheduler接口和相关实现,用于任务...

    spring-boot 定时任务集群

    1. **@Scheduled注解**:Spring Boot提供了对定时任务的支持,主要通过`@Scheduled`注解来实现。该注解可以放在方法上,表示这个方法会按照指定的周期执行。例如: ```java @Scheduled(fixedRate = 5000) public ...

    springboot-scheduler定时任务学习demo源码

    在Spring Boot中,我们可以使用`@Scheduled`注解来创建一个定时任务。这个注解可以放在方法上,声明该方法为周期性执行的任务。例如: ```java import org.springframework.scheduling.annotation.Scheduled; ...

    IDEA使用springboot自带scheduled实现任务调度

    在Java开发领域,Spring Boot框架以其便捷的特性深受开发者喜爱,而Spring Boot集成的Scheduled功能则为开发者提供了定时任务调度的能力。本篇文章将详细介绍如何在IDEA中利用Spring Boot的Scheduled来实现任务调度...

Global site tag (gtag.js) - Google Analytics