我已经看到很多添加OpenSessionInViewFilter
和OpenSessionInViewInterceptor
的例子,看起来Interceptor就是我需要的方式。我的应用程序是使用Java Configuration而不是web.xml样式配置设置的。
在我的WebMvcConfigurerAdapter
我正在设置拦截器:
@Bean
public OpenSessionInViewInterceptor openSessionInViewInterceptor(){
OpenSessionInViewInterceptor openSessionInViewInterceptor = new OpenSessionInViewInterceptor();
openSessionInViewInterceptor.setSessionFactory(sessionFactory);
return openSessionInViewInterceptor;
}
这似乎很好,但问题是我如何将这个钩入我的Spring配置?
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addWebRequestInterceptor(openSessionInViewInterceptor());
super.addInterceptors(registry);
}
尝试此操作后,它编译并运行正常,但我仍然在前端遇到could not initialize proxy - no Session
错误。它实际上是通过这个函数挂钩,还是有另一种(更正确的)方法来添加这个拦截器?
有人在Java Spring配置中配置了这种OpenSessionInViewInterceptor
吗?提前谢谢。