Spring Task定时任务
Posted Vodka~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Task定时任务相关的知识,希望对你有一定的参考价值。
一.概述:
1.定时任务作为一种常见的需求,在java开发定时任务主要有三种解决方案:
-JDK的timer
-第三方组件: Quartz
-Spring Task
2.Timer是jdk自带的定时任务工具,对于复杂的定时规则无法满足,在实际项目中也不常用;
Quartz功能强大,但使用相对笨重。
Spring Task 则具备两者的优点,除相关的Spring包以外,不需要额外的包,支持注解和配置文件两种形式。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd">
<!-- 设置自动化扫描范围 -->
<context:component-scan base-package="com.vodka" />
<!-- 1. XML方式 配置定时任务 -->
<task:scheduled-tasks>
<task:scheduled ref="taskTest" method="jobOne" cron="0/2 * * * * ?"></task:scheduled>
</task:scheduled-tasks>
</beans>
<!-- 2.注解方式:配置定时任务驱动,spring才能识别 @Scheduled 注解-->
<task:annotation-driven></task:annotation-driven>
XML配置scheduled
@Component
public class TaskTest
//定义日期格式
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//定义定时任务的方法
public void jobOne()
System.out.println("Happy birthday on " + simpleDateFormat.format(new Date()));
注解配置
@Component
public class TaskTest
//定义日期格式
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//定义定时任务的方法
@Scheduled(cron = "1/5 * * * * ?")
public void jobOne()
System.out.println("Happy birthday on " + simpleDateFormat.format(new Date()));
以上是关于Spring Task定时任务的主要内容,如果未能解决你的问题,请参考以下文章