SpringBoot(8)-任务

目录

一、异步任务

二、定时任务

三、邮件任务


一、异步任务

使用场景:后端发送邮件需要时间,前端若响应不动会导致体验感不佳,一般会采用多线程的方式去处理这些任务,但每次都需要自己去手动编写多线程来实现

1、编写service层

给hello方法添加**@Async**注解,告诉Spring这是一个异步的方法,SpringBoot就会自己开一个线程池,进行调用

2、编写controller层

3、主程序添加**@EnableAsync**注解

开启异步注解功能,这样才能使@Async注解生效

4、测试,网页瞬间响应,后台代码依旧执行

二、定时任务

使用场景:每天凌晨,分析一次前一天的日志信息

1、编写service层

若方法需要定时执行,则需加上**@Scheduled注解,结合cron表达式**

2、主程序添加**@EnableScheduling**注解

开启定时功能的注解

三、邮件任务

1、引入依赖

XML 复制代码
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2、配置文件

SpringBoot自动配置MailSenderAutoConfiguration

这个类中存在bean,JavaMailSenderImpl,其中有mail的配置文件

3、Spring单元测试

相关推荐
程序员清风2 分钟前
AI时代建议学点自己真正感兴趣的!
java·后端·面试
Duang007_7 分钟前
生产可观测性:从“系统慢“到“根因“的完整链路(Go / TypeScript)
后端·python·golang·typescript·prometheus
Wang's Blog8 分钟前
Java框架 SpringCloud 快速入门: Nacos 配置热更新
java·spring·spring cloud
西索斯coding11 分钟前
Kimi k2.7-code-highspeed 接入 Cline 教程:baseURL 路由变更 + model_id 正确写法
java·服务器·数据库·ai
stark张宇30 分钟前
InnoDB锁机制全景图:全局锁、表锁、行锁、意向锁到底怎么用?
数据库·后端
用户0942485680333 分钟前
第29章:【OpenJDK中级篇综合实战】百万长连接网关的JVM稳定性工程
java·jvm
newerp38 分钟前
pprof 火焰图(Flame Graph)阅读与热点代码重构实战
后端·程序员·go
吠品42 分钟前
HTTPS 真身:HTTP 套了层 TLS
java·服务器·前端
钝挫力PROGRAMER1 小时前
Java 日常开发常用 API 总结与示例
java
Geek漫游指南1 小时前
PRD 写得越来越漂亮,需求怎么越来越糊涂?
后端·敏捷开发