欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring基于注解的方式配置定时任务

程序员文章站 2024-01-03 11:35:58
...

新建一个Maven项目,添加依赖

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.9</version>
    </dependency>

src下main下创建resources资源文件夹,在配置文件中添加命名空间

xmlns:task=http://www.springframework.org/schema/task
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd

配置定时任务驱动

<!-- 定时任务注解驱动 -->
<task:annotation-driven />

创建task包–>MyJob类,写代码之前先了解一下Cron表达式(https://www.cnblogs.com/javahr/p/8318728.html

package com.shsxt.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class MyJob {
    /**
     * 定时任务什么时候执行
     */
    @Scheduled(cron="0/2 * * * * ?")   // 每两秒执行一次
    public void job01(){
        System.out.println("任务1...");
    }
    @Scheduled(cron="0/5 * * * * ?")   // 每五秒执行一次
    public void job02(){
        System.out.println("任务2...");
    }
}

创建单元测试

package com.shsxt.task;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import static org.junit.Assert.*;

public class MyJobTest {

    public static void main(String[] args) {
        new ClassPathXmlApplicationContext("spring.xml");
    }
}

执行main方法,成功的配置了一个简单的定时任务
spring基于注解的方式配置定时任务

上一篇:

下一篇: