详解在Spring3中使用注解(@Scheduled)创建计划任务

 更新时间:2017年03月31日 09:04:35   作者:zoucui  
本篇文章主要介绍了详解在Spring3中使用注解(@Scheduled)创建计划任务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了:

  1. 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下;
  2. 在Spring配置文件中添加三个<task:**** />节点;

最后说明一下,第一步创建的Java类要成为spring可管理的Bean,可以直接写在XML里,也可以@Component一下

示例如下

计划任务类:

/** 
 * com.zywang.spring.task.SpringTaskDemo.java 
 * @author ZYWANG 2011-3-9 
 */ 
package com.zywang.spring.task; 
 
import org.springframework.scheduling.annotation.Scheduled; 
import org.springframework.stereotype.Component; 
 
/** 
 * Spring3 @Scheduled 演示 
 * @author ZYWANG 2011-3-9 
 */ 
@Component 
public class SpringTaskDemo { 
 
  @Scheduled(fixedDelay = 5000) 
  void doSomethingWithDelay(){ 
    System.out.println("I'm doing with delay now!"); 
  } 
   
  @Scheduled(fixedRate = 5000) 
  void doSomethingWithRate(){ 
    System.out.println("I'm doing with rate now!"); 
  } 
   
  @Scheduled(cron = "0/5 * * * * *") 
  void doSomethingWith(){ 
    System.out.println("I'm doing with cron now!"); 
  } 
} 

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:task="http://www.springframework.org/schema/task" 
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"> 
  <!-- Enables the Spring Task @Scheduled programming model --> 
  <task:executor id="executor" pool-size="5" /> 
  <task:scheduler id="scheduler" pool-size="10" /> 
  <task:annotation-driven executor="executor" scheduler="scheduler" /> 
</beans> 

以上内容基于Spring 3.0.5 版本运行,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • springboot如何实现国际化配置

    springboot如何实现国际化配置

    这篇文章主要介绍了springboot如何实现国际化配置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 深入了解Java中的static关键字

    深入了解Java中的static关键字

    这篇文章主要为大家详细介绍了Java中的static关键字的用法的相关资料,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
    2022-11-11
  • 新手了解java 反射基础知识

    新手了解java 反射基础知识

    这篇文章主要介绍了Java反射机制的相关内容,涉及了class类的动态加载,获取成员变量、构造函数信息等信息,需要的朋友可以参考下,希望对你有所帮助
    2021-07-07
  • java使用Socket实现文件上传功能

    java使用Socket实现文件上传功能

    这篇文章主要为大家详细介绍了java使用Socket实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Java 读取外部资源的方法详解及实例代码

    Java 读取外部资源的方法详解及实例代码

    这篇文章主要介绍了Java 读取外部资源的方法详解及实例代码的相关资料,经常有读取外部资源的要求,如配置文件等等需要读取,需要的朋友可以参考下
    2017-03-03
  • SpringBoot项目获取统一前缀配置及获取非确定名称配置方法

    SpringBoot项目获取统一前缀配置及获取非确定名称配置方法

    在SpringBoot项目中,使用@ConfigurationProperties注解可获取统一前缀的配置,具体做法是创建配置类,使用prefix属性指定配置的前缀,本文给大家介绍SpringBoot项目获取统一前缀配置以及获取非确定名称配置方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Java从JDK源码角度对Object进行实例分析

    Java从JDK源码角度对Object进行实例分析

    这篇文章主要介绍了Java从JDK源码角度对Object进行实例分析,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java开发实现飞机大战

    Java开发实现飞机大战

    这篇文章主要为大家详细介绍了Java开发实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Java与C++分别用递归实现汉诺塔详解

    Java与C++分别用递归实现汉诺塔详解

    汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。本文将用Java与C++分别实现,感兴趣的可以学习一下
    2022-05-05
  • Java使用正则表达式验证用户名和密码的方法

    Java使用正则表达式验证用户名和密码的方法

    这篇文章主要介绍了Java使用正则表达式验证用户名和密码的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论