在Java Config中使用OpenSessionInViewInterceptor而不是WebXML

时间:2017-02-24 16:10:44

标签: java spring hibernate

我已经看到很多添加OpenSessionInViewFilterOpenSessionInViewInterceptor的例子,看起来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吗?提前谢谢。

0 个答案:

没有答案