Spring 异步执行注解

 异步执行:需要在接口类添加注解@EnableAsync  然后在方法上加入注解@Async

Spring 异步执行注解_第1张图片

@Service
public class SampleService {
    
    @Async
    public void doA() {
        // 方法
    }

    /**
     * 写在私有方法上的@Async注解是不起作用的,而且不会收到任何错误信息
     */
    @Async
    private void doB() {
    }
    
    public void doC() {
        // 在这个方法内部调用写了@Async注解的方法doA,是不会异步执行的。
        // 因为spring使用的是proxy机制,异步注解在内部调用时不起作用,只能在外部调用时异步执行
        doA();
    }
    
    /**
     * 外部调用这个方法时,不会得到返回值,@Async注解的方法异步执行的,
     * 如果需要返回值,要用Feature这种类型来代替
     */
    @Async
    public Integer doD() {
        return 5;
    }
}

Spring 异步执行注解_第2张图片

 Spring 异步执行注解_第3张图片

你可能感兴趣的:(注解)