spring mvc 配置使用定时任务

本文介绍了如何在Spring MVC中配置和使用定时任务。首先,要在spring-mvc.xml配置文件中添加相应代码,然后配置定时任务扫描注解,并指定任务执行的cron表达式,如每天凌晨1点、0点30分或每小时处理一次。实现定时任务的类需要添加@Component注解,@Scheduled注解应用在具体的方法上,且该方法不能有返回值。在使用过程中需注意这些关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先需要在spring的配置文件spring-mvc.xml的头部beans中添加如下代码:

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"

 

2、配置定时任务扫描注解:

<task:annotation-driven/>或者这样写
<!--开启这个配置,spring才能识别@Scheduled注解-->
<task:annotation-driven scheduler="xxxScheduler"/>
<task:scheduler id="xxxScheduler" pool-size="10"/>

3、配置扫描任务的地址:(方式一,直接启动项目就开启定时任务去执行)

<context:component-scan base-package="com.xxx.xxxx.task" />

 

接下来写定时任务需要执行的class:

@Component
public class Task {

    /**
     * 每5分钟执行一次
     *
     */
    @Scheduled(cron = "0 0/5 * * * ?")
    public void task() {
//方式二:手动设置是否需要开启定时任务,使用全局配置文件设置定时任务是否开启,设置一个Boolean类型的值,获取到判断
        if (!ConfigKit.getUseTask()) {
            return;
        }
//这里是需要执行定时任务的方法体,里面可根据业务逻辑去实现自己的功能
        System.out.println("执行了任务。。。。。。。");
    }

//@Scheduled(cron = "0 0 1 * * ?")每天凌晨1点整

//@Scheduled(cron = "0 30 0 * * ?")每天凌晨0点30分

//@Scheduled(cron = "0 */60 * * * ?")1小时处理一次


}

4、使用需要注意以下:

①、实现类上要有组件的注解@Component

②、spring的@Scheduled注解  需要写在实现方法上

③、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值