springboot使controller异步调用

调用controller方法,遇到操作时间很长的情况下,不希望前端一直等待操作,而希望前端立马接收到操作启动的反馈,而真正的操作在后端执行,需要用到异步调用的方法。实现步骤如下:

一、配置异步支持: 首先,在应用程序的主类上添加 @EnableAsync 注解,以启用异步支持

复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
 
//@EnableAsync
@SpringBootApplication
@EnableAsync
public class MyApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

二、在ExportService的方法exportCsv上增加注解 @Async声明该方法是异步方法

复制代码
@Service
public class ExportService {
   
    /**
     * 导出路径。
     *
     * @param path 参数说明
     * @return String
     */
    //如下注解 支持异步执行
    @Async
    public String exportCsv(String path) {
	     // 这里是需要异步执行的代码
	}
}

三、Controller类上调用异步方法,立马返回"导出操作在后台执行!请耐心等待!",导出进程在后端异步执行

复制代码
@RestController
@RequestMapping("/transfer")
public class ImportController extends BaseController {
	@Autowired
    private ExportService exportService;
	
	/**
     * 联机导出的数据。
     *
     * @param path 参数说明
     * @return AjaxResult
     */
    @PostMapping(value = "/exportCsv")
    @ResponseBody
    public AjaxResult ljExportCsv(@Valid String path) {
        exportService.exportCsv(path);
        return "导出操作在后台执行!请耐心等待!" ;
    }
}
相关推荐
苏渡苇7 小时前
DeepSeek V4 实战:自然语言生成 SQL + 智能优化引擎
ai·springboot·spring ai·deepseek·ai推理·deepseek v4·自然语言生成sql
玛卡巴卡ldf11 小时前
【Springboot升级AI】(大模型部署)LangChain4j、会话记忆、隔离消失持久化问题、ollama、RAG知识库、Tools工具
java·开发语言·人工智能·spring boot·后端·springboot
Nick_zcy1 天前
小说在线阅读网站和小说管理系统 · 功能全解析
java·后端·python·springboot·ruoyi
苏渡苇1 天前
DeepSeek V4 实战:打造一个智能 Java 项目源码分析助手
springboot·jdk21·spring ai·deepseek·deepseek v4
玛卡巴卡ldf3 天前
【Springboot9】将业务模块数据导出为PDF
pdf·springboot
阿冰冰呀4 天前
互联网大厂Java求职面试实录:谢飞机的“水货”之路
java·mybatis·dubbo·springboot·线程池·多线程·hashmap
下次再写8 天前
Java互联网大厂面试技术问答实战:涵盖Java SE、Spring Boot、微服务及多场景应用
java·数据库·缓存·面试·springboot·microservices·技术问答
程序员老邢8 天前
【技术底稿 18】FTP 文件处理 + LibreOffice Word 转 PDF 在线预览 + 集群乱码终极排查全记录
java·经验分享·后端·pdf·word·springboot
DavidSoCool8 天前
Springboot AI 创建MCP Server
java·spring·ai·大模型·springboot·mcp