发布时间:2022-08-19 12:49
第一步,先在启动类中加入@EnableAsync注解(必须)
/**
* 启动程序
*
*/
@SpringBootApplication
@EnableAsync
public class RuoYiApplication
{
public static void main(String[] args)
{
}
}
第二步,在controller中异步调用方法t(),切记不能在同类中调用异步方法
@GetMapping("/list") public void test01() throws Exception{ batchPaymentService.t(); System.out.println("执行完了"); }
第三步,在service层需要异步的方法中加入注解@Async(方法有void和Future(可等待异步执行完)两种返回值)
@Async public void t() throws InterruptedException { System.out.println("1"); Thread.sleep(10000); for (int i = 0; i < 100; i++) { System.out.println(i); } log.info("ttt"); }
执行结果,可见实现了异步(先打印了执行完,在打印了异步方法)