SpringBoot实现异步方法

1、创建一个SpringBoot的Web项目

2、开启异步注解功能

@EnableAsync

//开启异步注解功能
@EnableAsync
@SpringBootApplication
public class Springboot12TaskApplication {

  public static void main(String[] args) {
    SpringApplication.run(Springboot12TaskApplication.class, args);
  }
}

3、创建一个service类 :AsyncService

@Service
public class AsyncService {
    //告诉Spring这是一个异步方法
    @Async
    public void hello(){
        try {
            //休眠3秒
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("处理数据中...");
    }
}

4、创建一个controller类:AsyncController

@RestController
public class AsyncController {
    @Resource
    AsyncService asyncService;
    @GetMapping("/hello")
    public String hello(){
        asyncService.hello();
        return "success";
    }
}

5、运行测试


总结:

  • 不使用异步注解,方法会休眠3秒在运行
  • 使用异步注解,方法会直接被运行
posted @ 2020-10-29 15:17  Tenton  阅读(2000)  评论(0)    收藏  举报