SpringBoot 定时任务、异步任务、邮件任务

SpringBoot 定时任务、异步任务、邮件任务

自己在写程序时碰到很多的问题需要用到以上3个东东,所以就整理的一下大概用法。

定时任务

定时任务用的地方很广泛,比如日志的输出,可以使用定时任务去执行。
定时任务主要用到TaskScheduler(任务调度者)、TaskExecutor(任务执行者)、@EnableScheduling//开启定时注解、@Scheduled(什么时候执行)
简单使用示例:
在启动类里加一个@EnableScheduling注解,然后在具体要执行的方法上加一个@Scheduled注解。SpringBoot 定时任务、异步任务、邮件任务SpringBoot 定时任务、异步任务、邮件任务
补充:想看详情的可以去看任务调度者和任务执行者两个类的源码。

异步任务

异步任务在springboot里使用也非常简单,只需要在使用方法上加一个@Async注解,然后在启动类上加一个@EnableAsync注解。如下图所示:
SpringBoot 定时任务、异步任务、邮件任务
SpringBoot 定时任务、异步任务、邮件任务
补充:异步的也可以去看源码很方便的。

邮箱任务

这里使用的是qq邮箱,在springboot里使用邮箱功能真的非常方便,不用在去写很多代码,很多事情springboot都帮我们做好了,具体操作如下:
1.首先要去设置一下qq邮箱的账户:
SpringBoot 定时任务、异步任务、邮件任务
这个开启后会让你发送一个短信然后确认,会出现一个加密的密码复制就行,然后去application.properties配置邮箱,配置前需要在pom.xml里添加包依赖。如下图:
SpringBoot 定时任务、异步任务、邮件任务
2.application.properties配置
SpringBoot 定时任务、异步任务、邮件任务
3.测试使用
SpringBoot 定时任务、异步任务、邮件任务
补充:还有很多的使用可以去看这个源码。