Spring Task 定时任务 http://my.oschina.net/giegie/blog/490378
参考:在Spring中使用注解(@Scheduled)创建计划任务
http://my.oschina.net/tinglanrmb32/blog/489125
原文:
http://zwdsmileface.iteye.com/blog/2201238
也许以前框架经常使用quartz框架执行定时调度问题,但是现在我们介绍一下Spring给我们提供的@Scheduled定时任务。
要使用此特性,需要Spring3.2以上版本
如何去使用?下面我们用一个例子来介绍一下:
1、在xml的配置中,需要加入:
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd"
2、我们的task任务扫描注解
<task:annotation-driven/>
我的配置扫描位置是:
<context:annotation-config/>
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<--扫描你的任务所在的包 -->
<context:component-scan base-package="com.test"/>
3、写一个简单的例子:
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
@Lazy(false)
public class TestJob {
public static SimpleDateFormat sdf_yyyyMMddHHmmss = new SimpleDateFormat("yyyyMMddHHmmss");
@Scheduled(cron = "0/5 * * * * ?")
public void exejob() {
System.out.println(sdf_yyyyMMddHHmmss.format(new Date()) + " :执行中。。。");
}
}
这样,一个简单的定时任务就完成了。
注意(很重要):
1、spring的@Scheduled注解 需要写在实现上、
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true)
3、实现类上要有组件的注解@Component
关于corn表达式,最好是将cron表达式写在一个配置文件中,方便修改
CRON表达式 含义
"0 0 12 * * ?" 每天中午十二点触发
"0 15 10 ? * *" 每天早上10:15触发
"0 15 10 * * ?" 每天早上10:15触发
"0 15 10 * * ? *" 每天早上10:15触发
"0 15 10 * * ? 2005" 2005年的每天早上10:15触发
"0 * 14 * * ?" 每天从下午2点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI" 每个周一、周二、周三、周四、周五的10:15触发
分享到:
相关推荐
`@Scheduled`注解是Spring Framework中用于创建定时任务的重要工具,它允许开发者在不重启应用的情况下,实现定时任务的动态配置,特别是修改cron表达式来调整执行周期。 在Spring中,定时任务主要通过`@Scheduled`...
在这个"springMVC学习——注解方式"的主题中,我们将深入探讨如何使用注解来简化SpringMVC的配置和开发流程。 首先,让我们了解一下什么是注解。在Java中,注解是一种元数据,允许程序员在源代码中嵌入信息,这些...
接下来,我们需要创建一个定时任务类,使用`@Component`注解使其成为Spring的bean,然后在该类中定义需要定时执行的方法,并使用`@Scheduled`注解来设定任务的执行策略。例如,我们可以设置一个每隔5秒执行的任务: ...
`@Scheduled`是Spring的定时任务注解,可以设置多个参数: - `cron`:基于Cron表达式定义任务执行时间,如`cron = "0 0/5 * * * ?"`表示每5分钟执行一次。 - `fixedRate`:以毫秒为单位设定任务执行间隔,任务...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...
SpringMVC 注解 @InitBinder 解决类型转换问题 在使用 SpringMVC 框架时,经常会遇到表单中的日期字符串和 JavaBean 的 Date 类型的转换问题。 SpringMVC 默认不支持这个格式的转换,因此需要手动配置,自定义数据...
接下来,我们转向 `quartz`,这是一个强大的开源任务调度库,可以实现 Spring 中的定时任务功能。Quartz 可以帮助我们在应用中定义作业(Job)和触发器(Trigger),并设置它们的执行时间。 配置 Quartz 与 Spring ...
可以通过`@Scheduled`注解在方法上声明一个定时任务,例如每分钟执行一次。Spring Task还支持Cron表达式,允许更复杂的调度规则。 3. ** Spring Boot的Task Scheduling **:在Spring Boot应用中,使用@...
在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...
开发者可以使用@Scheduled注解来标记一个方法,使其按照指定的时间间隔执行。例如,可以设置每天凌晨执行某个清理过期数据的函数。此外,还可以使用Quartz或CronTrigger等库来实现更复杂的定时任务调度。 项目的...
springMVC 注解模式 完整事例 小例子 完整的小例子 放在eclipse或者myeclipse就直接可以运行的 包含简单的增删改查 上传文件 导出excle等小功能 登录验证等 简单实用 初学者首选
SpringMVC注解驱动的控制器详解,具体效果与过程看博文 http://blog.csdn.net/evankaka/article/details/45562951
在这个"springmvc注解版 helloworld"项目中,我们将深入探讨如何使用注解来配置和实现一个简单的Hello World应用。这个项目特别适合初学者入门,因为每个步骤都有详细的注释,确保你能理解每一行代码的作用。 首先...
综上所述,"springMVC注解+ security + redis 实例"的学习资料将涵盖这些技术的基本用法和整合方式,帮助开发者掌握如何构建一个安全、高效的Web应用。通过这个实例,你可以了解到如何在Spring MVC应用中使用注解...
SpringMVC注解开发是Java Web开发中一种高效的方式,它极大地简化了控制器的定义和请求处理。在SpringMVC框架中,`@Controller`注解用于标识一个类作为处理HTTP请求的控制器。这个注解使得类中的方法可以被SpringMVC...
SpringMVC 中常用的注解标签详解 在 SpringMVC 框架中,注解标签扮演着非常重要的角色,它们使得开发者可以轻松地定义控制器、请求映射、依赖注入等内容。在本文中,我们将详细地解释 SpringMVC 中常用的注解标签,...
03springmvc注解驱动开发的servlet3.0初始化配置类.avi
### SpringMVC注解@RequestParam详解 #### 一、引言 在现代Web开发中,SpringMVC框架因其灵活且强大的特性被广泛应用于构建企业级应用。其中,`@RequestParam`注解作为处理HTTP请求参数的核心工具之一,在实现前后...
在"SPRINGMVC 注解范例程序"中,我们可以深入理解 Spring MVC 如何利用注解进行配置简化,提高开发效率。下面将详细介绍 Spring MVC 中的关键注解和其工作原理。 1. **@Controller**:这是 Spring MVC 中的核心注解...