通过在ThreadLocal存储map信息,实现维护多个信息
类名:ThreadLocalUtil
getAll
/**
* @return threadLocal中的全部值
*/
ThreadLocalUtil.getAll();
put
/**
* 设置一个值到ThreadLocal
*
* @param key 键
* @param value 值
* @param <T> 值的类型
* @return 被放入的值
* @see Map#put(Object, Object)
*/
ThreadLocalUtil.put(String key, T value);
put
/**
* 设置一个值到ThreadLocal
*
* @param map map
* @return 被放入的值
* @see Map#putAll(Map)
*/
ThreadLocalUtil.put(Map<String,Object> map);
remove
/**
* 删除参数对应的值
*
* @param key
* @see Map#remove(Object)
*/
ThreadLocalUtil.remove(String key);
clear
/**
* 清空ThreadLocal
*
* @see Map#clear()
*/
ThreadLocalUtil.clear();
get
/**
* 从ThreadLocal中获取值
*
* @param key 键
* @param <T> 值泛型
* @return 值, 不存在则返回null, 如果类型与泛型不一致, 可能抛出{@link ClassCastException}
* @see Map#get(Object)
* @see ClassCastException
*/
ThreadLocalUtil.get(String key);
getIfAbsent
/**
* 从ThreadLocal中获取值,并指定一个当值不存在的提供者
*
* @see Supplier
*/
ThreadLocalUtil.getIfAbsent(String key, Supplier<T> supplierOnNull);
getAndRemove
/**
* 获取一个值后然后删除掉
*
* @param key 键
* @param <T> 值类型
* @return 值, 不存在则返回null
* @see this#get(String)
* @see this#remove(String)
*/
ThreadLocalUtil.getAndRemove(String key);