首页 > 解决方案 > 无法读取 Ojbect 属性,总是为空

问题描述

我有一个SpringMVC网络应用程序,我设置了Object propertyin的值HandlerInterceptorAdapter

public class SpringMVCFilter extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        Interceptor.ss = "foo"; // it's a static field
        return super.preHandle(request, response, handler);
    }
...more code hidden
}

然后,我得到了 MySQL 中的值QueryInterceptor

public class Interceptor implements QueryInterceptor {
    public static String ss = null;
    @Override
    public <T extends Resultset> T postProcess(Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession) {
        System.out.println(ss); // I have set the value for 'ss' before
        return null;
    }
...more code hidden
}

ss明明是静态变量,我已经给它赋值了,为什么我不能在里面取值QueryInterceptor,它们在某个线程中,但是ss总是显示null,执行顺序是先赋值的。

环境:
mysql:mysql-connector-java:8.0.13
spring boot 2.0.2.RELEASE

标签: javamysql

解决方案


推荐阅读