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单元测试

相关推荐
一叶飘零_sweeeet16 分钟前
Codex 与 Claude Code 深度拆解:两代 AI 编程智能体的技术本质与 Java 实战指南
java·ai·codex·claude code
子兮曰28 分钟前
Bun 重写为 Rust:11天、64个Claude、16.5万美元,一次改变行业认知的激进实验
前端·后端·bun
Listen·Rain30 分钟前
提示词和提示词模板
java·人工智能·spring boot
子兮曰33 分钟前
Node.js v26.5.0 深度解读:import Text、流式 ReadableStreamTee、以及隐藏的安全加固浪潮
前端·后端·node.js
子兮曰36 分钟前
TypeScript 7.0 RC 深度解读:Go 重写完成,10 倍提速,编译器的「奇点时刻」
前端·后端·typescript
kosan42 分钟前
.NET/C# 实战:我如何把登录验证码从“裸奔”改到“铜墙铁壁”
后端
wuqingshun3141591 小时前
重写equals而不重写hashCode,会出什么问题?
java·开发语言
我今晚不熬夜1 小时前
Java语言实现Modbus协议通过用串口读取数据(以RTU为例)
java·网络协议
王中阳Go1 小时前
AI编程实践:规则 + 技能 + 子代理 + 钩子,拆解Trae AI 开发规范的完整落地范式
后端·agent·ai编程
码事漫谈2 小时前
放下代码洁癖,享受挖坑人生
后端