Spring定时器!要来学习一下吗?

在这里小小推荐下我的个人博客

csdn:雷园的csdn博客

个人博客:雷园的个人博客

简书:雷园的简书

Spring定时器应该怎么用呢?

在Java中呢,我们总是会有一些定时任务,比如说:发邮件、短信推送消息;发公告、更新等等。那么Spring中的定时器应该如何使用呢?接下来我们就来说说Spring定时器的使用方法。

1.我们今天呢,是以springboot项目为基础进行的,大家如果不会使用Springboot的话可以先收藏一下,明天我会出一个Springboot项目的搭建文章。到时候你可以返回来再看这篇。因为springboot实在是在方便了,用完之后就不想再回去写配置文件了。。。

2.首先呢,我们需要在启动主程序中开启定时,只需要在主类上增加**@EnableScheduling**即可,相信大家看字面意思也明白是什么意思啦!

3.接下来就是写我们的定时类,那么你就可以在定时类中完成自己的需求,无论是发送邮件、短信;还是公告、更新,他统统可以准确无误的帮你执行,如果你有兴趣,也可以写一个抢购物品呀、车票呀什么的脚本。当然说起来,写脚本可能python更强一些。

package com.blogproject.utils;

import com.hanshow.leiyuan.blogproject.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class TimeUtils {
    @Autowired
    private TestService testService;

    @Scheduled(cron = "0 0/1 * * * ?")
    public void testTime() {
        System.out.println(testService.testTimeUtils());
    }
}

4.在以上代码中呢,我使用 @Autowired注入了testService,为的是告诉大家,使用**@Component**的类同Controller、Service一样,可以使用自动注入。

5.定时方法上方**@Scheduled(cron = “0 0/1 * * * ?”)**代表每分钟执行一次方法。testService中的方法仅仅是return了一个“you can you up!!!”字符串。我就不把代码贴出来。

6.大家可能很迷惑**@Scheduled**里面的时间到底是怎么算的,说实话~我也没学会。但是你可以去搜索一下!!!我在这里贴出几个简单的例子,大家如果悟性好的,可以尝试自己悟一下子!!!

* 代表所有的取值范围的数字
/ 代表每的意思,*/5就是每5个单位
- 代表从某个数字到某个数字
, 分开几个离散的数字

每两个小时    0 */2 * * *
晚上11点到早上8点之间每两个小时,早上8点    0 23-7,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点    0 11 4 * 1-3
1月1日早上4点    0 4 1 1 * 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值