创建定时任务
在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。
- 在Spring Boot的主类中加入
@EnableScheduling
注解,启用定时任务的配置
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 创建定时任务实现类
@Component
public class ScheduledTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat(“HH:mm:ss”);
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
log.info(“现在时间:” + dateFormat.format(new Date()));
}
}
- 运行程序,控制台中可以看到类似如下输出,定时任务开始正常运作了。
2021-07-13 14:56:56.413 INFO 34836 — [ main] c.d.chapter71.Chapter71Application : Started Chapter71Application in 1.457 seconds (JVM running for 1.835)
2021-07-13 14:57:01.411 INFO 34836 — [ scheduling-1] com.didispace.chapter71.ScheduledTasks : 现在时间:14:57:01
2021-07-13 14:57:06.412 INFO 34836 — [ scheduling-1] com.didispace.chapter71.ScheduledTasks : 现在时间:14:57:06
2021-07-13 14:57:11.413 INFO 34836 — [ scheduling-1] com.didispace.chapter71.ScheduledTasks : 现在时间:14:57:11
2021-07-13 14:57:16.413 INFO 34836 — [ scheduling-1] com.didispace.chapter71.ScheduledTasks : 现在时间:14:57:16
@Scheduled
详解
在上面的入门例子中,使用了@Scheduled(fixedRate = 5000)
注解来定义每过5秒执行的任务。对于@Scheduled
的使用,我们从源码里看看有哪些配置:
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Schedules.class)
public @interface Scheduled {
String CRON_DISABLED = ScheduledTaskRegistrar.CRON_DISABLED;
String cron() default “”;
String zone() default “”;
long fixedDelay() default -1;
String fixedDelayString() default “”;
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
[外链图片转存中…(img-hG1n0fdR-1714448603369)]