使用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>
希望这个答案是可以理解的,并且可以帮助任何人找到解决该问题的方法,任何问题都可以随时提出!



