--- layout: post title: Spring添加任务调度配置 category: 技术 tags: Spring keywords: description: --- {:toc} **注意:任何方式的调度配置都需要首先引入spring-context-4.1.7.RELEASE.jar和spring-task-4.1.7.RELEASE.jar** **注意:spring主配置文件中应该有配置``,以便spring扫描注解** ## 1. 注解+配置方式任务调度 在springContext.xml(spring主配置文件)配置 ```xml ``` java代码处调用 ```java @Scheduled(cron="*/1 * * * * ?") public void springTaskSchedule(){ System.out.println("springTaskSchedule--->date:"+DateFormat.getInstance().format(new Date())); } ``` **这种方式只能提供两种可能,即要么带`@Scheduled`注解的方法全部按约定执行,要么全部不执行(注释掉``)** ## 2. 纯注解方式任务调度 纯注解方式是只在java代码中添加注解,而不再配置 java代码处调用 ```java @EnableScheduling public class QuartzTest { @Scheduled(cron="*/1 * * * * ?") public void springTaskSchedule(){ System.out.println("springTaskSchedule--->date:"+DateFormat.getInstance().format(new Date())); } } ``` **这种方式不需手动改动配置,但当调度任务的需求更改时,需要修改源码** ## 3. 纯配置方式任务调度 在spring主配置文件中添加 ```xml ``` 这样就会将cn.jingzztech.prac.quartz.QuartzTest.springTaskSchedule2设置为调度方法,按照指定cron调度 **这种方式可以通过配置动态的决定开启哪些调度和关闭哪些调度,灵活度大**