1. 使用ThreadLocal的源码参考
spring源码中如下类的设计使用了ThreadLocal:
org.springframework.web.context.request.RequestContextHolder
org.springframework.transaction.support.TransactionSynchronizationManager
org.springframework.context.i18n.LocaleContextHolder
pageHelper源码中设计如下:
com.github.pagehelper.page.PageMethod
mybatisplus动态数据源中的设计:
com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder
如果自己要尝试设计ThreadLocal,可以参考如上代码的设计。
文档信息
- 本文作者:Marshall