Service
@Async注解标明方法是异步方法。
package com.mcs.service;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@Service
public class AsyncService {
// 告诉Spring这是一个异步的方法
@Async
public void hello() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("数据正在处理......");
}
}
Controller
package com.mcs.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mcs.service.AsyncService;
@RestController
public class AsyncController {
@Autowired
AsyncService asyncService;
@RequestMapping("hello")
public String hello() {
asyncService.hello();
return "ok";
}
}
启动类
@EnableAsync注解开启异步功能。
package com.mcs;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
// 开启异步功能
@EnableAsync
public class SpringbootstudyApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootstudyApplication.class, args);
}
}