Springboot使用异步调用@Async

@Slf4j是lombok里面的一个注解用来生成Logger对象的,来打印log日志

我写了一个userserviceimpl写了个controller方法,在不使用异步调用前,访问这个controller的结果就是1,2,3,4就是按部就班的执行,等到service的方法执行完成后才返回视图.

那么异步调用是什么意思呢,用来干什么呢?

比如在这个添加用户的操作里有个发送邮箱的功能,如果你这个方法一直等发送邮箱的功能执行完才返回结果,等的时间可能会很长,这样对用户的体验很不友好,异步调用就是把这个方法上加上异步调用的注解,这个注解在运行的时候就会动态的把这个方法单独提出一个线程来执行,和主线程互不干扰,不用等待它执行完就可以相应视图了.其实底层就是使用反射机制把方法方到线程中执行.

这个相应结果出来是等了五秒后才出来的

实现过程,在方法上加@Async注解,然后在启动类上加@EnableAsync开启异步调用

执行顺序是1423说明没有等impl里的方法执行完就走了下面的代码了

这个相应结果是直接显示出来的,null是因为相应的时候impl的方法还没执行完,就是看的一个效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值