简述Springboot @Async 异步方法

 更新时间:2018年05月13日 12:21:21   作者:简简单单OnlineZuozuo  
这篇文章主要介绍了Springboot @Async 异步方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

1.异步调用

异步调用就是在不阻塞主线程的情况下执行高耗时方法

2.常规异步

通过开启新线程实现

3.在Springboot中启用异步方法

需要4个注解

1.@EnableAsync 开启异步
2.@Component 注册异步组件
3.@Async 标注异步方法
4.@Autowired 注入异步组件

4.进行一次异步调用

1.首先在一个Config类上标注开启异步
2.然后创建一个异步的组件类,就跟Service,Controller 一样一样的,用Component标注,Service也行
3.在类内创建一个异步方法,打上Async 标记。这个方法必须是实例方法。
4.然后就跟注入Service一样一样的了。

5.异步事务

在Async 方法上标注@Transactional是没用的。
 在Async 方法调用的Service上标注@Transactional 有效。

6.异步方法的内部调用

异步方法不支持内部调用,也就是异步方法不能写在需要调用他的类的内部。
 比如Class A 有a,b,c。b有Async标注。此时a对b的异步调用是失效的。

7.为什么异步方法必须是实例方法

因为static方法不能被Override。因为@Async 异步方法的实现原理是通过注入一个代理类到Bean中,这个代理继承这个Bean,需要覆写异步方法并执行。 
 

然后这个东西,会被Spring放到自己维护的一个队列中。等待线程池读取并执行。

相关文章

  • Java中使用HttpPost发送form格式的请求实现代码

    Java中使用HttpPost发送form格式的请求实现代码

    在Java中使用HttpPost发送form格式的请求,可以使用Apache HttpClient库来实现,这篇文章主要介绍了Java中使用HttpPost发送form格式的请求,本文给大家展示示例代码,需要的朋友可以参考下
    2023-08-08
  • IDEA2020.1常用配置说明

    IDEA2020.1常用配置说明

    这篇文章主要介绍了IDEA2020.1常用配置说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JAVA实现红包分发的示例代码

    JAVA实现红包分发的示例代码

    这篇文章主要介绍了JAVA实现红包分发的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 深入解析面向对象编程在Java中的应用小结

    深入解析面向对象编程在Java中的应用小结

    本文详细介绍了面向对象编程的基本概念,包括类和对象、封装、继承和多态,通过具体的Java代码示例,展示了如何在Java中应用这些面向对象编程的核心思想,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • 详解SpringSecurity中的Authentication信息与登录流程

    详解SpringSecurity中的Authentication信息与登录流程

    这篇文章主要介绍了SpringSecurity中的Authentication信息与登录流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • @Validated和@Valid三种异常捕获处理方式

    @Validated和@Valid三种异常捕获处理方式

    这篇文章主要介绍了@Validated和@Valid三种异常捕获处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java spring mvc请求详情介绍

    Java spring mvc请求详情介绍

    这篇文章主要介绍了Java spring mvc请求详情,mvc是spring源码中的一个子模块,下文关于spring mvc请求的相关资料做简单介绍,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • SpringCache之 @CachePut的使用

    SpringCache之 @CachePut的使用

    这篇文章主要介绍了SpringCache之 @CachePut的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • SpringBoot启动报错属性循环依赖报错问题的解决

    SpringBoot启动报错属性循环依赖报错问题的解决

    这篇文章主要介绍了SpringBoot启动报错属性循环依赖报错问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • elasticsearch head的安装及使用过程解析

    elasticsearch head的安装及使用过程解析

    这篇文章主要介绍了elasticsearch head的安装及使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论