SpringBoot使用ThreadLocal共享数据

一般将与会话相关的数据存储在session里面使用,在SpringBoot中还可以使用ThreadLocal共享

先一个工具类

复制代码
package com.example.demo;

public class Context {
        private static final ThreadLocal<String> userThreadLocal = new ThreadLocal<>();

        public static void set(String string) {
            userThreadLocal.set(string);
        }

        public static String get() {
            return userThreadLocal.get();
        }

        public static void clear() {
            userThreadLocal.remove();
        }
    }

测试方法 在interceptor里面写入ThreadLocal

复制代码
Context.set("1234567890");

在Controller里引用

复制代码
Context.get();