我终于找到了解决方案!感谢Indybee给我一个线索。
Spring 3.1,Hibernate 4和Jackson-Module-Hibernate教程为Spring 3.1和早期版本提供了一个很好的解决方案。但是由于Spring版本3.1.2拥有自己的MappingJackson2HttpMessageConverter,其功能与本教程中的功能几乎相同,因此我们不需要创建此自定义HTTPMessageConverter。
使用javaconfig,我们也不需要创建HibernateAwareObjectMapper,只需将Hibernate4Module添加到Spring已经拥有的默认MappingJackson2HttpMessageConverter并将其添加到应用程序的HttpMessageConverters中,因此我们需要:
从WebMvcConfigurerAdapter扩展spring config类,并重写configureMessageConverters方法。
在该方法中添加MappingJackson2HttpMessageConverter与Hibernate4Module在previus方法进行注册。
我们的配置类应如下所示:
@Configuration@EnableWebMvcpublic class MyConfigClass extends WebMvcConfigurerAdapter{ //More configuration.... public MappingJackson2HttpMessageConverter jacksonMessageConverter(){ MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper mapper = new ObjectMapper(); //Registering Hibernate4Module to support lazy objects mapper.registerModule(new Hibernate4Module()); messageConverter.setObjectMapper(mapper); return messageConverter; } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { //Here we add our custom-configured HttpMessageConverter converters.add(jacksonMessageConverter()); super.configureMessageConverters(converters); } //More configuration....}如果你具有xml配置,则也不需要创建自己的
MappingJackson2HttpMessageConverter,但是需要创建出现在教程
(HibernateAwareObjectMapper)中的个性化映射器,因此xml配置应如下所示:
<mvc:message-converters> <bean > <property name="objectMapper"> <bean /> </property> </bean></mvc:message-converters>
希望这个答案是可以理解的,并且可以帮助任何人找到解决该问题的方法,任何问题都可以随时提出!



