Spring开启@Async异步方法(javaconfig配置)
在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。
应用场景:
- 某些耗时较长的而用户不需要等待该方法的处理结果
- 某些耗时较长的方法,后面的程序不需要用到这个方法的处理结果时
代码
创建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配置)相关推荐
- 【Spring笔记】使用javaconfig配置
@Configuration:注册到Spring容器中,因为本类就是Component @Bean相当于之前写的一个bean标签. id是方法名,返回值是resultType,return 是返回要注 ...
- 丢掉xml使用JavaConfig配置Spring
Spring JavaConfig 最近撸了一遍Spring action 4,发现里面讲的都不再使用xml文件来配置spring,全都采用Java代码来配置. 用Java代码配置的话,感觉要比xml ...
- webconfig.java_基于JavaConfig配置的Spring MVC的构建
上一篇讲了基于XML配置的构建,这一篇讲一讲基于JavaConfig的构建.为什么要写这篇文章,因为基于xml配置的构建,本人认为很麻烦,要写一堆的配置,不够简洁,而基于JavacConfig配置的构 ...
- 基于JavaConfig配置的Spring MVC的构建
上一篇讲了基于XML配置的构建,这一篇讲一讲基于JavaConfig的构建.为什么要写这篇文章,因为基于xml配置的构建,本人认为很麻烦,要写一堆的配置,不够简洁,而基于JavacConfig配置的构 ...
- Spring学习中使用javaConfig进行配置时出现 has not been refreshed yet错误
Spring学习中使用javaConfig进行配置时出现 has not been refreshed yet错误 java.lang.IllegalStateException: org.sprin ...
- Spring中@Async用法总结
转载自 https://blog.csdn.net/blueheart20/article/details/44648667 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的 ...
- Spring Boot application.properties 常用配置
SPRING CONFIG (ConfigFileApplicationListener) spring.config.name 配置文件名称,默认为application spring.config ...
- java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...
1.导入jar包: org.springframework.boot spring-boot-starter-activemq org.apache.activemq activemq-pool 2. ...
- java 异步调用 事务_深入理解Spring注解@Async解决异步调用问题
序言:Spring中@Async 根据Spring的文档说明,默认采用的是单线程的模式的.所以在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的. 那么当多个任务的执行势必会相互影响. ...
最新文章
- Velocity判断空的方法
- jQ进阶篇--jQuery封装placeholder效果,让低版本浏览器支持该效果
- Xamarin图表开发基础教程(6)OxyPlot框架
- figure文本框乱码 matlab_Matlab给系统自动生成的窗体Figure1改名称
- linux 时间戳 c语言,c语言中的时间戳和时间格式
- 二十九、深入Python中的collections模块
- 解决一条高难度的,关于时间段 数据汇总问题
- java muki_再次学习 java 类的编译
- Dedecms 最新版漏洞收集并复现学习
- python从大到小排序_python作业:用嵌套的列表存储学生成绩数据,并编程完成如下操作...
- idea的使用记录一
- Uncaught ReferenceError: but is not defined
- 系统动力学Vensim的使用
- android arial字体,Arial字体大小
- Qt拖拽实现绘制流程图
- 如何开好项目验收会?
- axios跨域解决方案
- 除了一汽和长白山 吉林还有数字经济这个新标签
- java 数组 取部分_在Java中只获取一部分数组?
- 《没有任何借口》《追求卓越》
热门文章
- STL 之count,count_if,max,max_element,min,min_element和random_shuffle
- 分布式系统概念 | 分布式ID:数据库、号段模式、雪花算法(Snowflake)、Redis实现方案
- linux常用安装命令集锦
- 为什么将0.1f改为0会使性能降低10倍?
- Kafka参数broker.id详解
- MySQL 的 bug 必须修复吗?
- 程序员应该知道的那些画图工具-第一期
- OS- -请求分页系统、请求分段系统和请求段页式系统(二)
- Java多线程之线程池详解
- 腾讯 AI Lab 联手迈瑞医疗,助力血液病筛查与体外诊断