在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。

应用场景:

  1. 某些耗时较长的而用户不需要等待该方法的处理结果
  2. 某些耗时较长的方法,后面的程序不需要用到这个方法的处理结果时

代码

创建AsyncTask

/*** 异步任务** @author Peng*/
public class AsyncTask {@Asyncpublic void doAsyncTask() throws InterruptedException {// 假设执行一个很耗时的任务Thread.sleep(10 * 1000);System.out.println("执行完成,我执行了10秒");}
}

创建spring配置AppConfig

/*** spring 配置** @author Peng*/
@Configuration
@EnableAsync
public class AppConfig {/*** 声明异步任务bean** @return*/@Beanpublic AsyncTask asyncTask() {return new AsyncTask();}
}

测试

/*** 异步测试** @author Peng*/
public class AppTest {public static void main(String[] args) throws InterruptedException {ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);AsyncTask task = ctx.getBean(AsyncTask.class);task.doAsyncTask();System.out.println("异步任务调用成功,返回客户端执行成功,异步任务继续执行");}
}

执行结果

异步任务调用成功,返回客户端执行成功,异步任务继续执行
执行完成,我执行了10秒

从结果可以看出,异步任务测试成功

Spring开启@Async异步方法(javaconfig配置)相关推荐

  1. 【Spring笔记】使用javaconfig配置

    @Configuration:注册到Spring容器中,因为本类就是Component @Bean相当于之前写的一个bean标签. id是方法名,返回值是resultType,return 是返回要注 ...

  2. 丢掉xml使用JavaConfig配置Spring

    Spring JavaConfig 最近撸了一遍Spring action 4,发现里面讲的都不再使用xml文件来配置spring,全都采用Java代码来配置. 用Java代码配置的话,感觉要比xml ...

  3. webconfig.java_基于JavaConfig配置的Spring MVC的构建

    上一篇讲了基于XML配置的构建,这一篇讲一讲基于JavaConfig的构建.为什么要写这篇文章,因为基于xml配置的构建,本人认为很麻烦,要写一堆的配置,不够简洁,而基于JavacConfig配置的构 ...

  4. 基于JavaConfig配置的Spring MVC的构建

    上一篇讲了基于XML配置的构建,这一篇讲一讲基于JavaConfig的构建.为什么要写这篇文章,因为基于xml配置的构建,本人认为很麻烦,要写一堆的配置,不够简洁,而基于JavacConfig配置的构 ...

  5. Spring学习中使用javaConfig进行配置时出现 has not been refreshed yet错误

    Spring学习中使用javaConfig进行配置时出现 has not been refreshed yet错误 java.lang.IllegalStateException: org.sprin ...

  6. Spring中@Async用法总结

    转载自 https://blog.csdn.net/blueheart20/article/details/44648667 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的 ...

  7. Spring Boot application.properties 常用配置

    SPRING CONFIG (ConfigFileApplicationListener) spring.config.name 配置文件名称,默认为application spring.config ...

  8. java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...

    1.导入jar包: org.springframework.boot spring-boot-starter-activemq org.apache.activemq activemq-pool 2. ...

  9. java 异步调用 事务_深入理解Spring注解@Async解决异步调用问题

    序言:Spring中@Async 根据Spring的文档说明,默认采用的是单线程的模式的.所以在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的. 那么当多个任务的执行势必会相互影响. ...

最新文章

  1. Velocity判断空的方法
  2. jQ进阶篇--jQuery封装placeholder效果,让低版本浏览器支持该效果
  3. Xamarin图表开发基础教程(6)OxyPlot框架
  4. figure文本框乱码 matlab_Matlab给系统自动生成的窗体Figure1改名称
  5. linux 时间戳 c语言,c语言中的时间戳和时间格式
  6. 二十九、深入Python中的collections模块
  7. 解决一条高难度的,关于时间段 数据汇总问题
  8. java muki_再次学习 java 类的编译
  9. Dedecms 最新版漏洞收集并复现学习
  10. python从大到小排序_python作业:用嵌套的列表存储学生成绩数据,并编程完成如下操作...
  11. idea的使用记录一
  12. Uncaught ReferenceError: but is not defined
  13. 系统动力学Vensim的使用
  14. android arial字体,Arial字体大小
  15. Qt拖拽实现绘制流程图
  16. 如何开好项目验收会?
  17. axios跨域解决方案
  18. 除了一汽和长白山 吉林还有数字经济这个新标签
  19. java 数组 取部分_在Java中只获取一部分数组?
  20. 《没有任何借口》《追求卓越》

热门文章

  1. STL 之count,count_if,max,max_element,min,min_element和random_shuffle
  2. 分布式系统概念 | 分布式ID:数据库、号段模式、雪花算法(Snowflake)、Redis实现方案
  3. linux常用安装命令集锦
  4. 为什么将0.1f改为0会使性能降低10倍?
  5. Kafka参数broker.id详解
  6. MySQL 的 bug 必须修复吗?
  7. 程序员应该知道的那些画图工具-第一期
  8. OS- -请求分页系统、请求分段系统和请求段页式系统(二)
  9. Java多线程之线程池详解
  10. 腾讯 AI Lab 联手迈瑞医疗,助力血液病筛查与体外诊断