SpringBoot与任务
(1)、异步任务
1 package cn.coreqi; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.scheduling.annotation.EnableAsync; 6 7 @EnableAsync //开启异步注解功能 8 @SpringBootApplication 9 public class SpringboottaskApplication { 10 11 public static void main(String[] args) { 12 SpringApplication.run(SpringboottaskApplication.class, args); 13 } 14 15 }
1 package cn.coreqi.service; 2 3 import org.springframework.scheduling.annotation.Async; 4 import org.springframework.stereotype.Service; 5 6 @Service 7 public class UserService { 8 @Async //告诉Spring这是一个异步任务 9 public void addUser(){ 10 11 } 12 }
(2)、定时任务
1 package cn.coreqi; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.scheduling.annotation.EnableScheduling; 6 7 @EnableScheduling //开启基于注解的定时任务 8 @SpringBootApplication 9 public class SpringboottaskApplication { 10 11 public static void main(String[] args) { 12 SpringApplication.run(SpringboottaskApplication.class, args); 13 } 14 15 }
1 package cn.coreqi.service; 2 3 import org.springframework.scheduling.annotation.Scheduled; 4 import org.springframework.stereotype.Service; 5 6 @Service 7 public class UserService { 8 @Scheduled(cron = "0 * * * * FRI") //定时任务注解 9 public void addUser(){ 10 11 } 12 }
cron表达式:
| 顺序 | 字段 | 允许值 | 允许的特殊字符 |
| 1 | 秒 | 0-59 | ,-*/ |
| 2 | 分 | 0-59 | ,-*/ |
| 3 | 时(小时) | 0-23 | ,-*/ |
| 4 | 日期 | 1-31 | ,-*?/LWC |
| 5 | 月份 | 1-12 | ,-*/ |
| 6 | 星期 |
0-7或SUN-SAT 0,7代表SUN |
,-*?/LC# |
特殊字符对照表
| 特殊字符 | 代表含义 |
| , | 枚举 |
| - | 区间 |
| * | 任意 |
| / | 步长 |
| ? | 日/星期冲突匹配 |
| L | 最后 |
| W | 工作日 |
| C | 和Calenclar联系后计算过的值 |
| # | 星期,4#2代表第2个星期四 |

浙公网安备 33010602011771号