使用Spring Boot构建任务计划与cron表达式编写
2017-04-27 00:00
537 查看
1、引入Maven依赖
只需要引入Spring boot starter依赖即可:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies>
2、构建入口,并用@EnableScheduling开启任务计划
@SpringBootApplication @EnableScheduling public class App { public static void main(String[] args) { SpringApplication.run(App.class); } }
@EnableScheduling开启后台的任务执行器。
3、使用@Scheduled注解标注需要定时执行的方法
@Component public class ScheduledTasks { private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); //每隔五秒钟打印一次当前时间 @Scheduled(fixedRate = 5000) public void reportCurrentTime() { log.info("The time is now {}", dateFormat.format(new Date())); } }
只需要把类注册到Spring Bean里,然后用@Scheduled对需要定时执行的方法进行标注,启动Spring Boot项目后,任务就会自动在后台启动并运行。
这样就可以快速便捷地实现任务计划!非常的简洁方便使用。
需要注意的是:
使用@Scheduled标注的方法不能有参数,也不能有返回值;
@Scheduled注解可用的参数说明:
fixedRate:指定方法两次调用之间的间隔时间,单位为毫秒fixedDelay:指定方法前一次执行结束和后一次开始执行之间的间隔时间,单位为毫秒
initialDelay:可以和其他参数搭配使用,指定程序启动和第一次调用之间的间隔
cron:使用cron表达式进行复杂的时间设置
cron表达式说明:
cron表达式一般从左到右按秒、分钟、小时、日期、月份、星期、年排列,其中除了年以外都是必须字段*:*代表“每个”,比如如果在第二个位置,即分钟所在的位置,使用*,就代表“每分钟”
?:?代表“没有意义”,比如设定的时间中,秒没有用处,就可以在第一个位置用?
-:-代表范围,比如在小时字段中使用10-12,代表从10点到12点每小时
,:,代表一个列表值,穷举时间,比如在秒字段,0,15,20,30代表在0、15、20、30秒时执行
/:x/y代表一个初始值为x,步长为y的等差序列。比如在分钟字段,0/15代表0,15,30,45
当然如果实在不想写的话,可以通过http://cron.qqe2.com/网站自动生成cron表达式
相关文章推荐
- spring boot 计划任务,定时任务的注解的使用@Scheduled@EnableScheduling
- springboot 中定时任务cron表达式
- cron表达式详解【spring配置定时任务可使用】
- SpringBoot定时任务及Cron表达式详解
- 使用Spring 注解实现调度任务及cron表达式详解
- 使用Gradle构建SpringBoot工程系列:第五篇:编写Spring Boot主类及第一次运行
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Cron 表达式,计划任务中的战斗机
- Linux下计划任务cron使用方法
- [BAT][JAVA]定时任务之-Quartz使用篇(通过这个配置可以知道在做Quartz的时候需要的jar文件/Cron表达式使用语法/常用Cron表达式)
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- maven构建使用Spring执行定时任务
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- 使用Spring来实现任务计划服务三:集成quartz任务调度框架
- 使用cron服务设置计划任务