教你配置项目中的定时任务SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务

原标题:教你配置项目中的定时任务
SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务
教你配置项目中的定时任务SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务
文章图片
异步任务@EnableAsync在类上注解,开启异步任务功能@Async在方法上注解,标记异步方法
教你配置项目中的定时任务SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务
文章图片
定时任务Spring提供了异步执行任务调度的方式Spring提供了TaskExecutor,TaskScheduler接口两个注解:@EnableScheduling:在类上注解,开启定时任务功能@Scheduled:在方法上注解,标记定时任务方法second(秒),minute(分),hour(时),dayofmonth(日),month(月),dayofweek(周几)
0****MON-FRI
@Scheduled(cron="0****MON-FRI")
@Scheduled(cron="1,2,3****MON-FRI")-枚举:,
@Scheduled(cron="0-15****MON-FRI")-区间:-
@Scheduled(cron="0/4****MON-FRI")-步长:/从0开始,每4秒启动一次
cron="00/514,18**?"每天14点整和18点整,每隔5分钟执行一次
cron="01510?*1-6"每个月的周一至周六10:15分执行一次
cron="002?*6L"每个月的最后一个周六2点执行一次
cron="002LW*?"每个月的最后一个工作日2点执行一次
cron="002-4?*1#1"每个月的第一个周一2点到4点,每个整点执行一次
cron表达式:字段
允许值
允许特殊字符

0-59
,-*/

0-59
,-*/
小时
0-23
,-*/
日期
1-31
,-*?/LWC
月份
1-12
,-*/
星期
0-7或SUN-SAT,0和7是SUN
,-*/
特殊字符
含义
,
枚举
-
区间
任意
/
步长
日和星期的冲突匹配
L
最后
w
工作日
C
与calendar联系后计算过的值
#
星期:4#2-第2个星期三
邮件任务邮件发送引入spring-boot-starter-mail依赖SpringBoot自动配置MailSenderAutoConfiguration定义MailProperties内容,配置在application.yml中spring.mail.username=
spring.mail.password=(授权码)
spring.mail.host=(smtp服务器地址)
spring.mail.properties.mail.smtp.ssl.enable=true
自动装配JavaMailSenderSimpleMailMessagemes=newSimpleMailMessage();
创建一个复杂消息邮件
MimeMessagemimeMes=mailSender.createMimeMessage();
MimeMessageHelpermimeHelper=newMimeMessageHelper(mimeMes,true(上传文件))
教你配置项目中的定时任务SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务】mimeHelper.addAttachment("fileName",newFile("pathName"));

教你配置项目中的定时任务SpringBoot与任务异步任务@EnableAsync@Async定时任务邮件任务
文章图片