Spring Boot实现简单的定时任务

时间:2021-10-16 01:08:15

前言

有时候在开发中经常会使用一些定时的任务,比如果整点推送,或者是每隔一段时间给客户发送一个消息等等。下面就来给大家介绍下Spring Boot实现简单的定时任务的相关内容。

创建定时任务类 每一分钟执行一次

?
1
2
3
4
5
6
7
8
9
10
11
12
@Component
@EnableScheduling
public class AllianceDiscountsActivityJob {
 @Autowired
 private AllianceDiscountsActivityService allianceDiscountsActivityService;
 
 // @Scheduled(cron = "0 0 0 * * ?")
 @Scheduled(cron = "0 */1 * * * ?")
 public void checkAllianceDiscounts()throws Exception{
  allianceDiscountsActivityService.checkAllianceDiscounts();
 }
}

创建service

?
1
2
3
4
public interface AllianceDiscountsActivityService {
 
 void checkAllianceDiscounts() throws Exception;
}

创建serviceImpl

?
1
2
3
4
@Override
public void checkAllianceDiscounts() throws Exception {
 int num=allianceDiscountsActivityMapper.checkAllianceDiscountActivity();
}

之后创建mapper mapper mybatis-mapper 用来实现定时任务的方法

?
1
2
3
4
5
6
7
8
public interface AllianceDiscountsActivityMapper {
  int checkAllianceDiscountActivity();
}
 
 <update id="checkAllianceDiscountActivity" parameterType="java.lang.String">
 update alliance set status=3 WHERE start_time <![CDATA[<=]]> NOW() and is_del=0 and status=1;
 update alliance set status=2 WHERE end_time <![CDATA[<=]]> NOW() and is_del=0 and status=3;
 </update>

总结

到此这篇关于Spring Boot实现简单的定时任务的文章就介绍到这了,更多相关SpringBoot定时任务内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_47287824/article/details/107578254