推荐阅读:
- 腾讯面试复盘:数据库+数据结构+JVM+网络+JAVA+分布式+操作系统
- 搞定23种设计模式:源代码+使用场景+实例+解决方法+面试必备
踩坑了?!
之前讲过 当@Transactional遇到@CacheEvict,你的代码是不是有bug! 现在要在事务提交之后清除缓存。在Spring4.2 之后,可以使用@TransactionalEventListener选择在事务提交之后再消费对应的事件。
![78d621490195a7dea8a7a088ddd99870.png](https://img-blog.csdnimg.cn/img_convert/78d621490195a7dea8a7a088ddd99870.png)
为了方便发送事件,偷懒使用了静态方法:
![1a53683f9d494212b0227e90408abf91.png](https://img-blog.csdnimg.cn/img_convert/1a53683f9d494212b0227e90408abf91.png)
其中,SpringUtil.getBean()方法的内部实现为: