java - 无法读取 Ojbect 属性,总是为空
问题描述
我有一个SpringMVC
网络应用程序,我设置了Object property
in的值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
解决方案
推荐阅读
- mysql - 如何用颤振制作一个mysql实时数据库?
- actionscript-3 - 使用 POST 的独立 Flash 播放器 navigateToURL 失败
- ios - iPhone 不可用
- python-3.x - 在 django 石墨烯中似乎没有调用 model.UUIDField() 的默认值
- reactjs - 如何在 React Native 中使用带有 RNPickerSelect 的 React Hook Form?
- python - 时间序列平稳技术
- typescript - 如何使用默认值从打字稿文件中导出所有功能?
- reactjs - 创建用户后如何将数据添加到firestore文档
- javascript - Chrome不会循环更改按钮文本
- android - 将数据从回收器视图传递到报价应用程序中的新活动,新活动正在打开但数据未到来