Spring计划任务用法实例详解
作者:cakincqm 时间:2021-08-03 11:41:08
本文实例讲述了Spring计划任务用法。分享给大家供大家参考,具体如下:
一 点睛
从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。只需要下面两步。
1 通过在配置类上注解@EnableScheduling来开启对计划任务的支持。
2 在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。
Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等。
二 实战
1 配置类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
@Configuration
@ComponentScan("com.wisely.highlight_spring4.ch3.taskscheduler")
@EnableScheduling //1
public class TaskSchedulerConfig {
}
2 计划任务执行类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class ScheduledTaskService {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000) //该方法是计划任务,使用fixedRate属性每隔固定时间执行。
public void reportCurrentTime() {
System.out.println("每隔五秒执行一次 " + dateFormat.format(new Date()));
}
@Scheduled(cron = "0 28 11 ? * *" ) //每天11点28分执行
public void fixTimeExecution(){
System.out.println("在指定时间 " + dateFormat.format(new Date())+"执行");
}
}
3 主类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
}
}
三 运行结果
每隔五秒执行一次 19:58:50
每隔五秒执行一次 19:58:55
每隔五秒执行一次 19:59:00
每隔五秒执行一次 19:59:05
每隔五秒执行一次 19:59:10
每隔五秒执行一次 19:59:15
每隔五秒执行一次 19:59:20
每隔五秒执行一次 19:59:25
每隔五秒执行一次 19:59:30
每隔五秒执行一次 19:59:35
每隔五秒执行一次 19:59:40
每隔五秒执行一次 19:59:45
每隔五秒执行一次 19:59:50
每隔五秒执行一次 19:59:55
每隔五秒执行一次 20:00:00
每隔五秒执行一次 20:00:05
希望本文所述对大家java程序设计有所帮助。
来源:https://blog.csdn.net/chengqiuming/article/details/81569189
标签:Spring,计划任务
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springboot实现在工具类(util)中调用注入service层方法
2021-06-17 20:02:51
![](https://img.aspxhome.com/file/2023/6/60616_0s.png)
Java判断ip是否为IPV4或IPV6地址的多种方式
2023-03-28 01:18:31
![](https://img.aspxhome.com/file/2023/7/78237_0s.jpg)
简单谈谈java自定义注解
2021-07-21 18:40:53
java计算给定字符串中出现次数最多的字母和该字母出现次数的方法
2022-01-13 03:00:04
Java实现员工信息管理系统
2023-01-27 16:19:30
![](https://img.aspxhome.com/file/2023/0/81940_0s.jpg)
android Retrofit2+okHttp3使用总结
2023-07-31 21:02:10
java判断String类型是否能转换为int的方法
2022-08-17 23:45:52
android6.0权限动态申请框架permissiondispatcher的方法
2023-07-31 10:51:57
Java IO流和文件操作实现过程解析
2022-03-10 02:08:13
Java的类型擦除式泛型详解
2022-01-02 11:59:00
![](https://img.aspxhome.com/file/2023/8/61608_0s.jpg)
C#从DataTable获取数据的方法
2022-09-16 03:20:59
c# 委托的常见用法
2021-08-11 13:44:05
Spring代理对象导致的获取不到原生对象注解的解决
2021-12-05 11:44:19
mybatis in foreach 双层嵌套问题
2023-11-24 12:55:47
![](https://img.aspxhome.com/file/2023/3/59883_0s.png)
maven工程中jar包瘦身的五种方法
2023-11-04 05:01:54
基于jstl 标签的使用介绍
2021-10-01 13:48:36
C#实现将Email地址转成图片显示的方法
2022-09-26 09:35:36
Java AQS信号量Semaphore的使用
2021-06-11 17:10:44
Java 数据结构与算法系列精讲之字符串暴力匹配
2021-10-06 05:43:27
![](https://img.aspxhome.com/file/2023/5/65305_0s.jpg)
Java 中很好用的数据结构EnumSet
2023-12-06 09:37:23
![](https://img.aspxhome.com/file/2023/5/64395_0s.webp)