Spring任务调度之SpringTask基于XML和基于注解的使用示例

使用Spring的环境要求是:JDK1.8以上、Maven3.0以上。

Maven依赖

SpringTask集成在SpringContext中,所以只需要SpringContext即可。

可以使用maven-compiler-plugin显式的指定JDK版本。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.12.RELEASE</version>
</dependency>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Spring xml配置(基于xml)

<?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: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/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
       http://www.springframework.org/schema/task  http://www.springframework.org/schema/task/spring-task-4.1.xsd">
    <!--配置注解扫描-->
    <context:component-scan base-package="com.cky.schadule"/>
    <task:scheduler id="taskScheduler" pool-size="100" />
    <task:scheduled-tasks scheduler="taskScheduler">
        <!--每30s触发一次-->
        <task:scheduled ref="schaduleDemo" method="sayHello1" cron="0/5 * * * * ?"/>
        <!--每10s触发一次-->
        <task:scheduled ref="schaduleDemo" method="sayHello2" cron="0/10 * * * * ?"/>
    </task:scheduled-tasks>
</beans>    

任务类

@Component
public class SchaduleDemo {
    public void sayHello1(){
        System.out.println("task1:hello~ now time is"+ LocalTime.now());
    }
    public void sayHello2(){
        System.out.println("task2:hello~ now time is0"+ LocalTime.now());
    }

    public static void main(String[] args){
        ApplicationContext context=new ClassPathXmlApplicationContext("classpath:/application-context.xml");
    }
}

Spring.xml配置(基于注解)

<?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: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/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
       http://www.springframework.org/schema/task  http://www.springframework.org/schema/task/spring-task-4.1.xsd">
    <!--配置注解扫描-->
    <context:component-scan base-package="com.cky.schadule"/>
    <task:scheduler id="taskScheduler" pool-size="100" />
    <!--开启注解驱动-->
    <task:annotation-driven scheduler="taskScheduler"/>
</beans>

任务类

@Component
public class SchaduleDemo {
    @Scheduled(cron = "0/5 * * * * ?")
    public void sayHello1(){
        System.out.println("task1:hello~ now time is"+ LocalTime.now());
    }
    @Scheduled(cron = "0/10 * * * * ?")
    public void sayHello2(){
        System.out.println("task2:hello~ now time is0"+ LocalTime.now());
    }

    public static void main(String[] args){
        ApplicationContext context=new ClassPathXmlApplicationContext("classpath:/application-context.xml");
    }

}
时间: 2024-10-08 14:27:27

Spring任务调度之SpringTask基于XML和基于注解的使用示例的相关文章

AspectJ基于xml和基于注解

一.基于xml 执行的切入点中具体方法有返回值,则方法结束会立即执行后置通知,然后再执行环绕通知的放行之后的代码: 2.连接点即所有可能的方法,切入点是正真被切的方法,连接点方法名: 其中,只有环绕通知的切入点参数不一样,是可以放行的切入点: 3.异常通知是处理异常: 切面类中的异常通知的方法参数列表中异常参数的参数名: 4.最终通知,不管有没有异常都会执行, 后置通知:AOP :after-Returnning 异常通知:AOP :after-Throwing 最终通知:AOP :after

Spring任务调度之Spring-Task

作者:独具匠心 一.前言 上面两篇介绍了在Spring 中使用Timer与Quartz,本篇将介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式,下面将分别介绍这两种方式. 二.第一种:配置文件方式  第一步:编写作业类               即普通的pojo,如下: import org.springframework.stereotyp

框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示

1 什么是spring 1.1官网 spring.io 1.2介绍 Spring的核心是控制反转(IoC)和面向切面(AOP). IoC(Inverse of Control 反转控制) AOP(Aspect Oriented Programming 面向切面编程为内核) 简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架. *轻量级:依赖其他内容较小,使用资源消耗也少.对比:EJB 重量级 *分层:经典三层体系架构,spring 提供解决方案

(spring-第2回)Spring的Schema,基于XML的配置(在IoC容器中装配Bean的前奏片)

要深入了解Spring机制,首先需要知道Spring是怎样在IoC容器中装配Bean的.而了解这一点的前提是,要搞清楚Spring基于Schema的Xml配置方案. 在深入了解之前,必须要先明白几个标签的意思(我会逐步引导读者理解,刚开始的懵懂无所谓,读者自会渐入佳境.初极狭,才通人.复行数十步,豁然开朗.). 什么是XML Schema? 用来描述 XML文档的结构,也被简称为XSD(XML Schema Definition),是一些规则的集合.(方式:通过定义schema文件 如 spri

Spring : 基于XML Schema的配置(一)

[本教程翻译自Spring官方文档,并有适当增删] (是针对Spring 4.0.6 Release版本的) 基于XML Schema的配置在Spring 2.0开始被引入,并在2.5和3.0版本得到增强和扩展. 转向基于XML Schema的动机是使得Spring XML配置更简单.传统的基于 <bean/>的方法是很好,但它的通用特性带来了很大的配置开销. 从Spring 依赖注入容器的观点来看,一切都是bean.这对Spring 容器是个好消息,因为如果一切都是bean,那么一对象都能以

Spring 4与Struts 2项目基于XML的集成实战

Spring 4与Struts 2项目基于XML的集成实战 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs 为什么要写这篇Hello World级别的文章.大约十年前,我开始使用Spring 2和Struts 1开发Web应用,构建工具使用的是Ant.早些年,把多个框架集成在一起并不容易,各框架间的兼容性也没有现在这么好.不管怎么样,这些基础的框架伴随我们多年.如今十年过去了,沧海桑田,Spring框架和Struts框架都经过了无数

基于XML配置的Spring MVC

1.添加jar 2.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation

Spring Security应用开发(02)基于XML配置的用户登录

1.1. 基于XML配置的登录功能 经过一系列配置之后,可以使用Spring Security内置功能实现最基本的用户登录功能以及角色验证功能,这种内置的功能没有任何实用价值,仅仅用于了解Spring Security的工作方式. (1)配置web.xml. 主要是为Spring MVC和Spring Security提供一些入口,以便有机会进行Spring MVC以及Spring Security的初始化和过滤处理等工作. <servlet> <servlet-name>spri

spring自带的定时任务功能,基于注解和xml配置

1.spring的配置文件 [html] view plain copy <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http: