1启动类开启异步调用注解

@SpringBootApplication
@EnableAsync //开启异步调用
public class StartApplication {

不开启则异步调用无效

2编写异步调用方法

@RestController
public class AsyncController {
private final static Logger logger=LoggerFactory.getLogger(WebLogAspect.class);
@Autowired
private AsyncService asyncService; @RequestMapping("/testAsync")
public String testAsync() {
logger.info("1");
String result=asyncService.asynTest();
logger.info("4");
return result;
}
}
@Service
public class AsyncService {
private final static Logger logger=LoggerFactory.getLogger(WebLogAspect.class); @Async //相当于重新开辟单独线程执行该方法
public String asynTest() {
logger.info("2");
try {
Thread.sleep(5000);
}catch(Exception e) { }
logger.info("3");
return "success";
}
}

3 访问:http://localhost:8080/testAsync

页面显示空,后台日志:

说明异步调用成功,未按顺序执行。

原理:使用aop技术在运行时创建一个单独线程执行

github代码:https://github.com/cslj2013/springboot2.0_log_aop.git

最新文章

  1. iOS 下拉刷新-上拉加载原理
  2. 视图控制器的View整体上移问题
  3. ABP集合贴(转)
  4. EasyUI中控件汉化问题
  5. 编程范式 epesode7,8 stack存放指针类型and heap,register
  6. Valid Palindrome [LeetCode]
  7. [原]hdu2602 Bone Collector (01背包)
  8. PhpStorm, XDebug, and DBGp Proxy
  9. SecureCRT 7.3.4 安装以及破解
  10. Ngnix安装
  11. Week13(12月2日):又到了那个点,期末了~~~~
  12. 基于visual Studio2013解决C语言竞赛题之0412水仙花数
  13. asp.net core系列 50 Identity 授权(中)
  14. ITP项目:一期版本分享
  15. 2159 ACM 杭电 杀怪 二维费用的背包+完全背包问题
  16. 如何修改Oracle服务IP地址
  17. 树剖||树链剖分||线段树||BZOJ4034||Luogu3178||[HAOI2015]树上操作
  18. 深入浅出JavaScript运行机制
  19. Mac下操作mysql
  20. docker相关命令

热门文章

  1. linux学习(2):linux服务器常用操作和命令
  2. Win10提示“无法打开此计算机上的组策略对象”如何解决
  3. 详解intent和intentfilter
  4. vue的mixin简化开发
  5. [LeetCode] 107. Binary Tree Level Order Traversal II 二叉树层序遍历 II
  6. Kubernetes 控制器之 Deployment 介绍(六)
  7. 【C/C++开发】C++编译指令#pragma pack的配对使用
  8. Android中的算法
  9. OpenJudge 1088 滑雪
  10. python实践项目九:操作文件-修改文件名