美文网首页
springboot 异步调用 21

springboot 异步调用 21

作者: 张力的程序园 | 来源:发表于2020-04-08 15:58 被阅读0次

本节讲述springboot的异步调用。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • maven-3.0.5
  • jdk-8u162-windows-x64

2、前提约束

@EnableAsync
  • 在主启动类同级目录下创建UserService.java
@Service
public class UserService {
    @Async
    public void query1() throws InterruptedException {
        System.out.println("query1");
        Thread.sleep(5000);
    }

    @Async
    public void query2() throws InterruptedException {
        System.out.println("query2");
        Thread.sleep(5000);
    }

    @Async
    public void query3() throws InterruptedException {
        System.out.println("query3");
        Thread.sleep(5000);
    }
}
  • 创建一个测试类:
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;

@SpringBootTest
class SpringbootInitApplicationTests {


    @Resource
    UserService userService;

    @Test
    void contextLoads() throws Exception{
        userService.query1();
        userService.query2();
        userService.query3();
        System.out.println("ok");
    }

}
  • 启动测试类,我们便能看到"query1","query2","query3"刚开始就被瞬间打印,query2的执行完全没有等待query1执行完毕,这就是异步的体现。

相关文章

网友评论

      本文标题:springboot 异步调用 21

      本文链接:https://www.haomeiwen.com/subject/ayoophtx.html