您的位置:首页 > 编程语言 > Java开发

SpringBoot最简单启动定时任务demo

2019-08-18 11:57 417 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43957143/article/details/99702978

SpringBoot中关于定时任务有两个注解:

1.@Scheduled 2.@EnableScheduling

第一个用在你写定时任务的方法上;
第二个用在启动类上

关于简单定时器任务,官方文档也给予了说明
http://spring.io/guides/gs/scheduling-tasks/

下面开始案例:
为了方便日志输出,我们依赖了lombok这个jar包,
关于lombok可以参考SpringBoot如何不需要每次new Logger就可以使用log输出日志内容。

<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>

1.写一个启动定时任务的类:ScheduledTask

类上加上注解:
@Component
@Slf4j

package com.example.demo.scheduledTask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.text.SimpleDateFormat;
@Component
@Slf4 j//lombok日志类
public class ScheduledTask {

private static final SimpleDateFormat df=new SimpleDateFormat("HH:mm:ss");

@Scheduled(fixedRate = 5000)
public void scheduledTest(){
log.info("现在时间时:"+df.format(new Date()));
}
}


这里fixedRate时定时任务间隔时间,5000代表5秒,

2.启动类上加上注解@EnableScheduling


启动项目:
我们发现控制台输出内容:

说明我们启动成功了。
如果你不想用lombok的日志输出,也可以

private static final Logger log = LoggerFactory.getLogger(SchedulerTask.class);

创建一个Logger对象。这样子就不用依赖jar包了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: