随笔分类 - Spring
摘要:Spring cache是一个缓存API层,封装了对多种缓存的通用操作,可以借助注解方便地为程序添加缓存功能。 常见的注解有@Cacheable、@CachePut、@CacheEvict,有没有想过背后的原理是什么?楼主带着疑问,阅读完Spring cache的源码后,做一个简要总结。 先说结论,
阅读全文
摘要:先说结论:本地缓存优先选用caffeine,因为性能比guava cache快,api风格与之兼容、能轻松地平滑迁移,并且在spring/spring boot最新版本中已经是默认本地缓存了。下面展开讲讲本地缓存和Spring cache。 本文讨论堆内缓存,暂不讨论堆外缓存。堆内缓存是指缓存与应用
阅读全文
摘要:通常,如果我们要在程序中做一个耗时的操作(例如调用其他外部模块),一般会通过异步的方式执行。使用Spring @Async注解,修饰在需要异步执行的方法上,即可方便地让代码在新线程中异步执行。
对于Spring @Async注解的方法,如何进行异常处理呢?楼主想到了2种方法。方法一:配置AsyncUncaughtExceptionHandler(对于无返回值的方法),
方法二:通过AsyncResult捕获异常(对于有返回值的方法)
阅读全文
摘要:平时大家的工作一般是基于开发框架进行的(比如Spring MVC,或Spring Boot),所以会有相应特定的异常处理方法,这篇文章要介绍的就是web应用中的异常处理。
想快速解决问题的小伙伴可以只看“解决办法”,想进一步了解细节的小伙伴还可以看“深入剖析”部分。
阅读全文