/**
* 全局上下文工具类,用于储存一些东西
*/
public class MyContext {
private static final ThreadLocal<Map<Object, Object>> mycontext = new ThreadLocal<Map<Object, Object>>() {
@Override
protected Map<Object, Object> initialValue() {
return new HashMap<Object, Object>();
}
};
/**
* 根据key获取值
* @param key
* @return
*/
public static Object getValue(Object key) {
if(mycontext.get() == null) {
return null;
}
return mycontext.get().get(key);
}
/**
* 存储
* @param key
* @param value
* @return
*/
public static Object setValue(Object key, Object value) {
Map<Object, Object> cacheMap = mycontext.get();
if(cacheMap == null) {
cacheMap = new HashMap<Object, Object>();
mycontext.set(cacheMap);
利用ThreadLocal实现全局上下文工具类
最新推荐文章于 2024-08-12 06:00:00 发布
这个博客介绍了如何利用ThreadLocal来实现一个全局上下文工具类,该类用于存储和检索对象,提供getValue、setValue、removeValue和reset等方法,确保在同一个线程中的数据隔离。
摘要由CSDN通过智能技术生成