`

Spring中实现定时任务

阅读更多
  • spring中通过@EnableScheduling来开启对定时任务的支持
  • 然后通过@Scheduled声明,它支持多种类型的定时任务,包含cron,fixDelay,fixRate等

   

实例如下:

 

  1. 定时任务执行类
package com.zgw.taskscheduler;

import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class SchedulerTaskService {
	
	  private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

	  /**
	   * 1. fixedRate每隔固定时间执行
	   * 2.@Scheduled声明是一个定时任务
	   */
	  @Scheduled(fixedRate = 3000)
	  public void reportCurrentTime() {
	       System.out.println("每隔3秒执行一次 " + dateFormat.format(new Date()));
	   }

	  @Scheduled(cron = "0 53 21 ? * *"  ) //
	  public void fixTimeExecution(){
	      System.out.println("在指定时间 (每天21:53)" + dateFormat.format(new Date())+"执行");
	  }

}

 

2.配置类

package com.zgw.taskscheduler;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;


@Configuration
@ComponentScan("com.zgw.taskscheduler")
@EnableScheduling //开启对计划任务的支持
public class TaskSchedulerConfig{  
	
}

 

3.测试类

 

package com.zgw.taskscheduler;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class TestScheduler {
	
	public static void main(String[] args) {
		//使用AnnotationConfigApplicationContext作为spring容器,
		//接收输入一个配置类作为参数
		 AnnotationConfigApplicationContext context =
	                new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
	}
}

 

运行结果:



 


 
 

 

 

 

分享到:
评论

相关推荐

    spring定时任务实现

    本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 首先,Java的`java.util.Timer`是一个基础的定时任务工具,它可以按照设定的频率执行任务,但...

    Spring中定时任务

    在Spring框架中,定时任务是实现自动化操作的重要组成部分,它允许开发者在特定的时间间隔执行一些重复性的任务。本文将深入探讨Spring中的定时任务,并结合Eclipse和Maven项目环境进行讲解。 首先,Spring提供了两...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    TaskExecutor接口是Spring提供的一个异步任务执行接口,它并不直接支持定时任务,但可以通过配合ScheduledExecutorService或者ThreadPoolTaskScheduler来实现定时任务。ScheduledExecutorService是Java的并发库提供...

    Spring 框架自带定时任务和Quartz定时任务

    Spring框架提供了Spring Task来实现定时任务,它简单易用,能够覆盖大部分常规需求。对于复杂的调度需求,可以考虑使用Quartz框架。在选择具体的定时任务实现技术时,应该根据实际的应用场景、性能要求以及开发维护...

    Spring定时任务(Web项目)

    本案例将详细介绍如何利用Spring技术来实现定时任务,并提供相关的代码示例。 一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 首先,Quartz是一个开源的作业调度框架,它允许开发者创建、安排和执行定时...

    spring的自带定时任务

    这个特性使得开发者无需依赖其他外部任务调度库,如Quartz或Cron,就能在Spring应用中轻松实现定时任务的执行。下面我们将深入探讨Spring的自带定时任务,包括基于注解和XML配置两种方式。 ### 1. Spring定时任务...

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

    在Spring框架中,定时任务是通过Spring的Task模块来实现的,这使得在非Web项目中也能方便地进行定时任务的调度。以下是对这个主题的详细讲解。 首先,我们需要了解Spring Task的核心组件: 1. **...

    java定时spring定时源码包含定时和spring必须包直接导入可运行无需连接数据库

    这使得它成为一个轻量级的示例,适合初学者快速了解和学习如何在Spring中实现定时任务。 为了运行这个项目,你需要有Java环境和Maven或Gradle构建工具(根据提供的pom.xml或build.gradle文件)。解压文件后,可以...

    spring xml 定时任务

    在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...

    spring动态配置定时任务

    本文将深入探讨如何在Spring中实现这种动态配置,以及如何结合数据库来管理和更新这些定时任务。 首先,Spring提供了`@Scheduled`注解来创建定时任务。在类或方法上使用这个注解,可以定义一个定时执行的任务。例如...

    springboot定时任务的动态开启关闭

    本篇文章将深入探讨如何在Spring Boot中实现定时任务的动态开启和关闭。 首先,我们需要引入Spring Boot的`spring-boot-starter-quartz`或者`spring-boot-starter-task`依赖,这两个都是Spring框架提供的定时任务...

    两种方式通过spring实现定时执行任务操作

    本文将详细讲解两种通过Spring实现定时任务的方法:Spring的`TimerTask`和`Spring Batch`的`Tasklet`。我们将涵盖这两种方法的基本原理、配置以及使用源码,确保你能全面理解如何在实际项目中应用。 ### 一、Spring...

    Spring3.0定时任务简单实例web工程

    这个"Spring3.0定时任务简单实例web工程"提供了一个使用Spring 3.0实现定时任务的实例,通过配置`TaskScheduler`,定义任务类,使用`@Scheduled`注解设置执行计划,最后在Web应用启动时启动任务,可以方便地在Web...

    Spring定时任务管理

    Spring定时任务的几种实现,欢迎交流!

    spring整合quartz定时任务调度

    以上就是Spring整合Quartz实现定时任务调度的基本流程。在实际开发中,你可能需要根据项目需求对触发规则、任务逻辑、并发控制等方面进行更复杂的配置和设计。同时,Quartz还支持集群部署,可以在多台服务器上实现...

    Spring定时任务的多种使用方法总结

    本篇文章将深入探讨Spring中实现定时任务的多种方式,帮助开发者更好地理解和利用这一特性。 首先,Spring提供了一个名为`TaskExecution`和`TaskScheduling`的模块,它允许我们方便地执行异步任务和定时任务。以下...

    关于 spring 里的定时任务设置

    在Spring框架中,定时任务的实现提供了多种方式,如基于Java Timer API的定时任务和基于Quartz库的定时任务。这两种方法各有优缺点,适用于不同的场景。以下将详细讲解这两种方式。 1. 基于Java Timer API的定时...

Global site tag (gtag.js) - Google Analytics