`

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

 
阅读更多
老大说这配置太麻烦、每个调度都需要多加在spring的配置中、
能不能减少配置的量从而提高开发效率、
最近看了看spring的 scheduled的使用注解的方式进行调度、
感觉很方便、起码配置的东西少了很多、

所以留下来以备忘了、

首先要配置我们的spring.xml

xmlns 加入
xmlns:task="http://www.springframework.org/schema/task" 


xsi:schemaLocation 加入
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.1.xsd  


task任务扫描注解开启
<task:annotation-driven/> 


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


需要注意的几点:
1、spring的@Scheduled注解  需要写在实现上、
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)
3、实现类上要有组件的注解@Component

剩下的就是corn表达式了、具体使用以及参数请百度google、
下面只例出几个式子
CRON表达式    含义
"0 0 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分每分钟一次触发
"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发
分享到:
评论

相关推荐

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

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

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

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

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

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

    Spring定时任务@Scheduled例子

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

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

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

    spring boot @scheduled定时任务配置

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

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

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

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

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

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

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

    @ScheduleTask注解实现定时任务,带分布式锁

    首先,`@ScheduleTask` 是一种模拟Spring框架中的 `@Scheduled` 注解的用法,用于标记方法作为定时任务。该注解通常包含参数如 `cron` 表达式,用于定义任务的执行时间。例如: ```java @ScheduleTask(cron = "0 0/...

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

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

    spring注解Quartz定时执行功能

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

    spring 定时任务@Scheduled详解

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

    SpringBoot执行定时任务@Scheduled的方法

    Spring Boot 提供了对定时任务的支持,通过使用 @Scheduled 注解,可以实现定时任务的执行。本文将详细介绍 Spring Boot 中 @Scheduled 定时器的使用。 创建定时任务 要使用 @Scheduled 注解,首先需要在项目启动...

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

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

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

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

    Spring-task定时任务

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

    Spring定时任务实现(非Web项目)

    2. **定义定时任务**:在需要执行定时任务的类上,我们可以定义一个或多个`@Scheduled`注解的方法。例如: ```java @Service public class MyTaskService { @Scheduled(fixedRate = 5000) // 每隔5秒执行一次 ...

    Spring定时任务(Web项目)

    二、@Scheduled注解使用 1. 配置启用定时任务 首先,我们需要在Spring配置类上添加`@EnableScheduling`注解,开启定时任务的扫描。 ```java import org.springframework.scheduling.annotation.EnableScheduling; ...

    Springmvc java注解设置定时任务实例

    接下来,我们需要创建一个定时任务类,使用`@Component`注解使其成为Spring的bean,然后在该类中定义需要定时执行的方法,并使用`@Scheduled`注解来设定任务的执行策略。例如,我们可以设置一个每隔5秒执行的任务: ...

Global site tag (gtag.js) - Google Analytics