Spring MVC中配置定时任务(配置文件方式)
1.步骤
- 1-1
在springmvc.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.2.xsd
- 1-2
在配置文件中配置需要扫描的包的位置,以及它的启动配置
<!--启用注解方式开启任务调度,允许@Scheduled注解定义定时任务-->
<task:annotation-driven/>
<!--配置一个任务调度器,指定调度器id-->
<task:scheduler id="scheduler"/>
<!--定义一个定时任务的配置快,并指定该任务使用刚才配置的调度器-->
<task:scheduler-tasks scheduler="scheduler">
<!--指定了具体的定时任务,ref为被指定的bean名称-->
<task:scheduler-task ref="你所写的定时任务的bean" method="你写的定时任务的方法名" cron="执行时间比如:0 0 1 * * ?表示每晚凌晨1点执行"/>
</task:scheduler-tasks>
<!--要扫描的任务所在位置-->
<context:component-scan base-package="com.包在哪" />
- 1-3
在类名上添加注解@Component和@EnableScheduling
在方法上添加注解@Scheduled
@Component("跟配置文件中task:scheduler-task ref写的bean名称一致")
@EnableScheduling
publc class xxx{
@Scheduled(cron="0 0 1 * * ?")
public void 方法名跟task:scheduler-task method中一致(){
你要执行的内容
}
}
参考资料
-
mvc:annotation-driven 注解的作用
-
关于Spring中的task:annotation-driven配置