以thread为单位,独立变量可以使用ThreadLocal类,保证数据仅在当前线程内有效。在接口中,即数据范围为request scope。
使用方法如下:
threadLocal.set(T t); //在线程中使用set保存数据
threadLocal.remove(); //线程结束后一定要清空数据
具体代码如下:
import java.util.Arrays; import java.util.List; /** * 用于线程内多次调用 */ public class ResourceContext<T> { private static ThreadLocal<T> threadLocal = new ThreadLocal<>(); private ResourceContext() {} public static void set(T t) { threadLocal.set(t); } public static T get() { return threadLocal.get(); } public static void clear() { threadLocal.remove(); } }