`

SpringMVC注解——@Scheduled 定时任务

 
阅读更多
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触发
分享到:
评论

相关推荐

    Spring @Scheduled定时任务动态修改cron参数

    `@Scheduled`注解是Spring Framework中用于创建定时任务的重要工具,它允许开发者在不重启应用的情况下,实现定时任务的动态配置,特别是修改cron表达式来调整执行周期。 在Spring中,定时任务主要通过`@Scheduled`...

    springMVC学习——注解方式

    在这个"springMVC学习——注解方式"的主题中,我们将深入探讨如何使用注解来简化SpringMVC的配置和开发流程。 首先,让我们了解一下什么是注解。在Java中,注解是一种元数据,允许程序员在源代码中嵌入信息,这些...

    Springmvc java注解设置定时任务实例

    接下来,我们需要创建一个定时任务类,使用`@Component`注解使其成为Spring的bean,然后在该类中定义需要定时执行的方法,并使用`@Scheduled`注解来设定任务的执行策略。例如,我们可以设置一个每隔5秒执行的任务: ...

    springMVC定时任务task方式实例代码

    `@Scheduled`是Spring的定时任务注解,可以设置多个参数: - `cron`:基于Cron表达式定义任务执行时间,如`cron = "0 0/5 * * * ?"`表示每5分钟执行一次。 - `fixedRate`:以毫秒为单位设定任务执行间隔,任务...

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    详解SpringMVC注解@initbinder解决类型转换问题

    SpringMVC 注解 @InitBinder 解决类型转换问题 在使用 SpringMVC 框架时,经常会遇到表单中的日期字符串和 JavaBean 的 Date 类型的转换问题。 SpringMVC 默认不支持这个格式的转换,因此需要手动配置,自定义数据...

    springmvc基本配置及定时任务配置修改

    接下来,我们转向 `quartz`,这是一个强大的开源任务调度库,可以实现 Spring 中的定时任务功能。Quartz 可以帮助我们在应用中定义作业(Job)和触发器(Trigger),并设置它们的执行时间。 配置 Quartz 与 Spring ...

    springMVC定时任务jar包

    可以通过`@Scheduled`注解在方法上声明一个定时任务,例如每分钟执行一次。Spring Task还支持Cron表达式,允许更复杂的调度规则。 3. ** Spring Boot的Task Scheduling **:在Spring Boot应用中,使用@...

    springmvc注解简单实例

    在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...

    sping+ springMVC+mybatis分页,定时任务

    开发者可以使用@Scheduled注解来标记一个方法,使其按照指定的时间间隔执行。例如,可以设置每天凌晨执行某个清理过期数据的函数。此外,还可以使用Quartz或CronTrigger等库来实现更复杂的定时任务调度。 项目的...

    springMVC 注解模式 完整事例 小例子

    springMVC 注解模式 完整事例 小例子 完整的小例子 放在eclipse或者myeclipse就直接可以运行的 包含简单的增删改查 上传文件 导出excle等小功能 登录验证等 简单实用 初学者首选

    SpringMVC注解驱动的控制器详解

    SpringMVC注解驱动的控制器详解,具体效果与过程看博文 http://blog.csdn.net/evankaka/article/details/45562951

    springmvc注解版 helloworld

    在这个"springmvc注解版 helloworld"项目中,我们将深入探讨如何使用注解来配置和实现一个简单的Hello World应用。这个项目特别适合初学者入门,因为每个步骤都有详细的注释,确保你能理解每一行代码的作用。 首先...

    springMVC注解+ security + redis 实例

    综上所述,"springMVC注解+ security + redis 实例"的学习资料将涵盖这些技术的基本用法和整合方式,帮助开发者掌握如何构建一个安全、高效的Web应用。通过这个实例,你可以了解到如何在Spring MVC应用中使用注解...

    SpringMVC注解开发的详解.doc

    SpringMVC注解开发是Java Web开发中一种高效的方式,它极大地简化了控制器的定义和请求处理。在SpringMVC框架中,`@Controller`注解用于标识一个类作为处理HTTP请求的控制器。这个注解使得类中的方法可以被SpringMVC...

    springmvc常用注解标签详解

    SpringMVC 中常用的注解标签详解 在 SpringMVC 框架中,注解标签扮演着非常重要的角色,它们使得开发者可以轻松地定义控制器、请求映射、依赖注入等内容。在本文中,我们将详细地解释 SpringMVC 中常用的注解标签,...

    03springmvc注解驱动开发的servlet3.0初始化配置类.avi

    03springmvc注解驱动开发的servlet3.0初始化配置类.avi

    SpringMVC注解

    ### SpringMVC注解@RequestParam详解 #### 一、引言 在现代Web开发中,SpringMVC框架因其灵活且强大的特性被广泛应用于构建企业级应用。其中,`@RequestParam`注解作为处理HTTP请求参数的核心工具之一,在实现前后...

    SPRINGMVC 注解范例程序

    在"SPRINGMVC 注解范例程序"中,我们可以深入理解 Spring MVC 如何利用注解进行配置简化,提高开发效率。下面将详细介绍 Spring MVC 中的关键注解和其工作原理。 1. **@Controller**:这是 Spring MVC 中的核心注解...

Global site tag (gtag.js) - Google Analytics