没有特定业务场景,最常用的是全局变量,比如调用接口前需要获取用户信息进行用户权限校验,校验完后,你可以把用户信息放入ThreadLocal,在后续的业务中,新增或修改数据库时,可以直接获取用户的ID作为createUser或者updateUser;又或者在controller中获取了参数p,controller调用了serviceA,serviceA调用serviceB,serviceB又调用了serviceC,在serviceC中用到了参数p,你可以将参数放在ThreadLocal中,避免了在方法中一层一层的往下传。