Spring/Spring Boot中使用@Async
当我们在调用某些耗时的方法,比如发起第三方调用时而不关心他的返回值,可以采用@Async来实现异步调用。极大的提升程序的响应速度。
在以往的编程方法中我们一般都是开启另一个线程去处理类似的场景,而在Spring 3.x之后则可以使用@Async。
@Target({
ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Async {
String value() default "";
}
可以看到@Async可以修饰在方法和类上。当修饰方法时,该方法则成为异步方法,这些方法在执行的时候将会被独立的线程去执行。
在Spring和Spring Boot中启用@Async
在启动类上添加注解:@EnableAsync
在相应的方法上添加注解:@Async