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

相关推荐
Devin~Y8 分钟前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
bLEd RING16 分钟前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
小松加哲34 分钟前
Spring MVC 核心原理全解析
java·spring·mvc
GetcharZp40 分钟前
比 Zap 还要快?Go 社区高性能日志神器 Zerolog 落地实践指南
后端
Ulyanov1 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
码界筑梦坊1 小时前
357-基于Java的大型商场应急预案管理系统
java·开发语言·毕业设计·知识分享
anzhxu1 小时前
Go基础之环境搭建
开发语言·后端·golang
云烟成雨TD1 小时前
Spring AI Alibaba 1.x 系列【31】集成 Studio 模块实现可视化 Agent 调试
java·人工智能·spring
014-code1 小时前
Spring Data JPA 实战指南
java·spring
安小牛1 小时前
Android 开发汉字转带声调的拼音
android·java·学习·android studio