目录
一、异步任务
二、定时任务
三、邮件任务
一、异步任务
使用场景:后端发送邮件需要时间,前端若响应不动会导致体验感不佳,一般会采用多线程的方式去处理这些任务,但每次都需要自己去手动编写多线程来实现
1、编写service层
给hello方法添加@Async注解,告诉Spring这是一个异步的方法,SpringBoot就会自己开一个线程池,进行调用
2、编写controller层
3、主程序添加@EnableAsync注解
开启异步注解功能,这样才能使@Async注解生效
4、测试,网页瞬间响应,后台代码依旧执行
二、定时任务
使用场景:每天凌晨,分析一次前一天的日志信息
1、编写service层
若方法需要定时执行,则需加上@Scheduled注解,结合cron表达式
2、主程序添加@EnableScheduling注解
开启定时功能的注解
三、邮件任务
1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、配置文件
SpringBoot自动配置MailSenderAutoConfiguration
这个类中存在bean,JavaMailSenderImpl,其中有mail的配置文件
3、Spring单元测试