当前位置: 首页 > news >正文

SpringBoot(8)-任务

目录

一、异步任务

二、定时任务

三、邮件任务


一、异步任务

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

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

 

相关文章:

SpringBoot(8)-任务

目录 一、异步任务 二、定时任务 三、邮件任务 一、异步任务 使用场景&#xff1a;后端发送邮件需要时间&#xff0c;前端若响应不动会导致体验感不佳&#xff0c;一般会采用多线程的方式去处理这些任务&#xff0c;但每次都需要自己去手动编写多线程来实现 1、编写servic…...

【机器学习】如何配置anaconda环境(无脑版)

马上就要上机器学习的实验&#xff0c;这里想写一下我配置机器学习的anaconda环境的二三事 一、首先&#xff0c;下载安装包&#xff1a; Download Now | Anaconda 二、打开安装包&#xff0c;一直点NEXT进行安装 这里要记住你要下载安装的路径在哪&#xff0c;后续配置环境…...

java 可以跨平台的原因是什么?

我们对比一个东西就可以了&#xff0c;那就是chrome浏览器。 MacOS/Linux/Windows上的Chrome浏览器&#xff0c;那么对于HTML/CSS/JS的渲染效果都一样的。 我们就可以认为ChromeHTML/CSS/JS是跨平台的。 这里面&#xff0c;HTML/CSS/JS是不变的的&#xff0c;对于一个网页&a…...

Solana应用开发常见技术栈

编程语言 Rust Rust是Solana开发中非常重要的编程语言。它具有高性能、内存安全的特点。在Solana智能合约开发中&#xff0c;Rust可以用于编写高效的合约代码。例如&#xff0c;Rust的所有权系统可以帮助开发者避免常见的内存错误&#xff0c;如悬空指针和数据竞争。通过合理利…...

npm | Yarn | pnpm Node.js包管理器比较与安装

一、包管理器比较 参考原文链接&#xff1a; 2024 Node.js Package Manager 指南&#xff1a;npm、Yarn、pnpm 比较 — 2024 Node.js Package Manager Guide: npm, Yarn, pnpm Compared (nodesource.com) 以下是对 Node.js 的三个包管理工具 npm、Yarn 和 pnpm 的优缺点总结&am…...

Linux下编译MFEM

本文记录在Linux下编译MFEM的过程。 零、环境 操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1Boost1.74.0oneAPI2024.2.1 一、安装依赖 二、编译代码 附录I: CMakeUserPresets.json {"version": 4,"configurePresets": [{&quo…...

【团购核销】抖音生活服务商家应用快速接入②——商家授权

文章目录 一、前言二、授权流程三、授权Url3.1 Url参数表3.2 授权能力表3.3 源码示例 四、授权回调4.1 添加授权回调接口4.2 授权回调接口源码示例 五、实际操作演示六、参考 一、前言 目的&#xff1a;将抖音团购核销的功能集成到我们自己开发的App和小程序中 【团购核销】抖音…...

django宠物服务管理系统

摘 要 宠物服务管理系统是一种专门为宠物主人和宠物服务提供商设计的软件。它可以帮助用户快速找到附近的宠物医院、宠物美容店、宠物寄养中心等服务提供商&#xff0c;并预订相关服务。该系统还提供了一系列实用的功能。通过使用宠物服务管理系统&#xff0c;用户可以更加方便…...

vue2中使用three.js步骤

1.使用npm 下载依赖这里以0.158.0版本为例 npm install three0.158.0 --save 2. <template><div id"container"></div> </template><script> import * as THREE from three; import { OBJLoader } from three/examples/jsm/loaders/O…...

部落商城App开发笔记 2024.11.21 实现进入app就是短视频

初步效果: 基于图鸟UI二次开发, 这里静态资源没有加载, 我在本机上安装了一个nginx, 需要启动一下. PS C:\dev\nginx-1.26.2> start .\nginx.exe重新刷新就有数据了. 先看看目前的页面吧. 首页. 分类: 发现. 消息. 购物车. 我的. 这个项目是有短视频的功能…...

解决.DS_Store 在项目一致无法排除,.gitignore里也不生效

.DS_Store 是 macOS 操作系统创建的隐藏文件&#xff0c;通常用于存储目录的属性&#xff0c;比如视图设置、图标位置等。它通常不应包含在代码仓库中&#xff0c;因此需要排除它。你提到即使将其添加到 .gitignore 文件中&#xff0c;仍然无法排除它&#xff0c;可能是由于以下…...

MySQL-关键字执行顺序

&#x1f496;简介 在MySQL中&#xff0c;SQL查询语句的执行遵循一定的逻辑顺序&#xff0c;即使这些关键字在SQL语句中的物理排列可能有所不同。 &#x1f31f;语句顺序 (8) SELECT (9) DISTINCT<select_list> (1) FROM <left_table> (3) <join_type> JO…...

极客时间《Redis核心技术与实战》开篇词 知识点总结

Redis 主要的数据持久化方式 RDB&#xff08;Redis Database Backup file&#xff09; RDB 是 Redis 提供的一种数据快照持久化方式&#xff0c;它会在指定的时间间隔内生成数据集的时间点快照&#xff0c;并将这些快照保存到磁盘上的一个 RDB 文件中。RDB 文件是一个压缩的二…...

TCP并发服务器

端口号快速复用函数 通过getsockopt和setsockopt函数&#xff0c;管理套接字的端口号复用设置。具体操作如下&#xff1a; getsockopt函数 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);功能&#xff1a;获取套接字的某些选项的属性。…...

Debug-031-近期功能实现小结

由于时间原因&#xff0c;没办法对每个小的功能点进行比较细致的总结&#xff0c;这里统一去记录一下最近的实现了的功能&#xff0c;算是存档备份&#xff0c;为今后开发带来便利和参考。 一、ACEeditor ACEeditor使用手册&#xff08;一&#xff09;_ace editor-CSDN博客 AC…...

Consumer Group

不&#xff0c;kafka-consumer-groups.sh 脚本本身并不用于创建 Consumer Group。它主要用于管理和查看 Consumer Group 的状态和详情&#xff0c;比如列出所有的 Consumer Group、查看特定 Consumer Group 的详情、删除 Consumer Group 等。 Consumer Group 是由 Kafka 消费者…...

.NET架构师学习大纲

目录 微服务 Consul Ocelot Polly Skywalking Exceptionless Apollo Jenkins Docker Kubernetes DDD领域驱动设计 DevOps CDN Nginx 应用服务器集群 数据库高可用 异步化架构 Azure前沿技术 工具排查 O/RM-EFCore IOC&AOP Core WebApi WebServer 数…...

【代码随想录】贪心

455. 分发饼干 题目 随想录 本质&#xff1a; 对于每个孩子&#xff0c;使用可以满足该孩子的最小的饼干。所以对孩子胃口和饼干进行sort排序&#xff0c;依次将大的饼干满足给孩子。 贪心策略&#xff1a; 想一下局部最优&#xff0c;想一下全局最优&#xff0c;如果局部最优…...

Harmony鸿蒙类似与Android中broadcast广播的api使用及释义

EventHub模块提供了事件中心&#xff0c;提供订阅、取消订阅、触发事件的能力。 这里需要注意&#xff0c;该模块接口仅可在Stage模型下使用。且Api>9 EventHub.on on(event: string, callback: Function): void; 订阅指定事件。&#xff08;接收广播&#xff09; 参…...

openGauss 6.0.0主备部署(企业版)

openGauss 6.0.0主备部署&#xff08;企业版&#xff09; 文章目录 openGauss 6.0.0主备部署&#xff08;企业版&#xff09;一、环境准备1.操作系统环境2.修改主机名3.设置字符集编码4.修改openEuler默认yum源5.安装所需工具6.同步网络时间7.关闭防火墙 二、安装openGauss数据…...

9个非技术岗也能胜任的AI岗位,小白程序员看过来,建议收藏![特殊字符]

9个非技术岗也能胜任的AI岗位&#xff0c;小白程序员看过来&#xff0c;建议收藏&#xff01;&#x1f525; 本文介绍了9个适合非技术背景人士的AI相关岗位&#xff0c;包括AI产品运营、大模型产品助理、AI客服训练师等&#xff0c;涵盖了岗位职责、薪资水平、招聘方及入门建议…...

个人博客域名迁移说明 www.xiaoming.io

因为之前很多文章和插图都链接到了个人博客&#xff0c;一些读者评论和私信反馈链接有问题&#xff0c;图片不显示&#xff0c;这里特地说明如下&#xff1a;个人博客域名从原先的 www.hainter.com 改成了 www.xiaoming.io。例如文章中有链接 http://www.hainter.com/books 不能…...

HardSourceWebpackPlugin故障排除:7个常见问题及解决方案

HardSourceWebpackPlugin故障排除&#xff1a;7个常见问题及解决方案 【免费下载链接】hard-source-webpack-plugin 项目地址: https://gitcode.com/gh_mirrors/ha/hard-source-webpack-plugin HardSourceWebpackPlugin 是 Webpack 生态系统中一个强大的缓存插件&#…...

像素幻梦创意工坊保姆级教程:从安装到生成你的第一张像素画

像素幻梦创意工坊保姆级教程&#xff1a;从安装到生成你的第一张像素画 1. 准备工作&#xff1a;认识像素幻梦创意工坊 像素幻梦创意工坊(Pixel Dream Workshop)是一款基于FLUX.1-dev扩散模型的AI像素艺术生成工具。它采用明亮的16-bit像素风格界面&#xff0c;让艺术创作变得…...

如何让QQ音乐下载的加密歌曲在任何设备上自由播放?qmcdump解密工具深度解析

如何让QQ音乐下载的加密歌曲在任何设备上自由播放&#xff1f;qmcdump解密工具深度解析 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/q…...

AutoGen Studio实战体验:基于Qwen3-4B模型打造智能问答助手

AutoGen Studio实战体验&#xff1a;基于Qwen3-4B模型打造智能问答助手 1. AutoGen Studio简介 AutoGen Studio是一个低代码界面&#xff0c;旨在帮助开发者快速构建AI代理、通过工具增强它们、将它们组合成团队并与之交互以完成任务。它基于AutoGen AgentChat构建——一个用…...

无需编程经验!OFA图像描述工具开箱即用,支持本地离线运行

无需编程经验&#xff01;OFA图像描述工具开箱即用&#xff0c;支持本地离线运行 1. 前言&#xff1a;为什么选择本地图像描述工具 想象一下这些场景&#xff1a; 你在整理旅行照片时&#xff0c;想快速为每张图添加英文描述工作中需要批量处理商品图片&#xff0c;但担心上…...

AI赋能:借助快马平台轻松打造集成大语言模型的智能openclaw飞书助手

最近在尝试给团队开发一个智能化的飞书助手&#xff0c;发现结合大语言模型的AI能力确实能大幅提升工作效率。经过一番摸索&#xff0c;我总结出一套用InsCode(快马)平台快速实现这类需求的方法&#xff0c;整个过程比想象中简单很多。 明确核心需求场景 智能助手主要解决三个高…...

别再写重复代码了!微信小程序分页加载与下拉刷新,一个通用组件就搞定

微信小程序分页加载与下拉刷新的工程化实践 每次开发新页面时&#xff0c;你是否还在重复编写分页加载和下拉刷新的逻辑&#xff1f;作为一个有追求的小程序开发者&#xff0c;我们需要思考如何将这些通用功能抽象成可复用的组件或Mixin。本文将带你从工程化角度&#xff0c;设…...

C++的std--ranges中的策略内联编译器

C的std::ranges中的策略内联编译器&#xff1a;高效编程的新利器 在现代C编程中&#xff0c;std::ranges库的引入为算法和范围操作带来了革命性的改进。其中&#xff0c;策略内联编译器作为其核心优化手段之一&#xff0c;能够显著提升代码执行效率。本文将深入探讨这一技术的…...