SpringBoot之异步调用@Async

SpringBoot之异步调用@Async

springboot的启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;

@ComponentScan(basePackages = { "com.controller", "com.service" })
@EnableAsync //开启异步调用
@EnableAutoConfiguration
public class App {

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

}

在service中创建异步方法

使用了@Async的方法,会被当成是一个子线程,所有整个send方法,会在主线程执行完了之后执行.
同一个类中,一个方法调用另外一个有@Async的方法,注解是不会生效的
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @Async //声明异步方法
    public void send(){
        Thread.sleep(1000);
    }

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » SpringBoot之异步调用@Async