千家信息网

springboot 中怎么利用@Async实现异步调用

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,springboot 中怎么利用@Async实现异步调用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。添加注解@Enab
千家信息网最后更新 2025年02月07日springboot 中怎么利用@Async实现异步调用

springboot 中怎么利用@Async实现异步调用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

添加注解@EnableAsync开启异步调用

package com.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableAsync;/** * Hello world! * */@SpringBootApplication@EnableAsyncpublic class App{    public static void main( String[] args )    {        SpringApplication.run(App.class,args);    }}

在被调用方法上加 @Async

package com.demo.serviceImp;import com.demo.serviceI.DemoService;import org.springframework.scheduling.annotation.Async;public class DemoServiceWindowImp implements DemoService {    @Override    public String info() {        return "window";    }    @Override    @Async    public void print(int i) {        System.out.println(i);    }}

调用测试

package com.demo.action;import com.demo.serviceI.DemoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DemoAction {    @Autowired    private DemoService demoService;    @RequestMapping(value = "health.json")    public String healt(){        return "{\"status\":\"UP\",\"diskSpace\":{\"status\":\"UP\",\"total\":249769230336,\"free\":71914618880,\"threshold\":10485760},\"db\":{\"status\":\"UP\",\"database\":\"MySQL\",\"hello\":1}}";    }    @RequestMapping(value = "user/info")    public String info(){        return demoService.info();    }    @RequestMapping(value = "print")    public void print(){        for (int i = 0; i < 100; i++) {            demoService.print(i);        }    }}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0