spring 启动 2 中未识别 MappingJackson2HttpMessageConverter 配置
MappingJackson2HttpMessageConverter configuration is not being recognized in spring boot 2
我使用 spring 已经有一段时间了,在我的 spring boot 1.5x 项目中总是处理 LazyInitializationException
下一个配置(楼下),但现在我我正在使用 spring boot 2 创建一个新项目,并且无法识别比 WebMvcConfigurer
更远的相同配置,现在替换为已弃用的 WebMvcConfigurerAdapter
.
我的配置:
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(jacksonMessageConverter());
WebMvcConfigurer.super.configureMessageConverters(converters);
}
public MappingJackson2HttpMessageConverter jacksonMessageConverter() {
MappingJackson2HttpMessageConverter messageConverter =
new MappingJackson2HttpMessageConverter();
List<MediaType> supportedMediaTypes=new ArrayList<>();
supportedMediaTypes.add(MediaType.APPLICATION_JSON);
supportedMediaTypes.add(MediaType.TEXT_PLAIN);
messageConverter.setSupportedMediaTypes(supportedMediaTypes);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Hibernate5Module());
messageConverter.setObjectMapper(mapper);
messageConverter.setPrettyPrint(true);
return messageConverter;
}
}
但在那之后我得到一个错误:
[WARN ] 2018-08-18 20:07:08.694 DESKTOP-ABFFHEJ --- [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session (through reference chain: com.ideatik.domain.Usuario["tipoUsuario"]->com.ideatik.domain.TipoUsuario_$$_jvst9b7_2["nombre"])
[WARN ] 2018-08-18 20:07:08.695 DESKTOP-ABFFHEJ --- [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session (through reference chain: com.ideatik.domain.Usuario["tipoUsuario"]->com.ideatik.domain.TipoUsuario_$$_jvst9b7_2["nombre"])
尝试在方法中添加@Bean
@Bean
public MappingJackson2HttpMessageConverter jacksonMessageConverter() {
.....
}
我使用 spring 已经有一段时间了,在我的 spring boot 1.5x 项目中总是处理 LazyInitializationException
下一个配置(楼下),但现在我我正在使用 spring boot 2 创建一个新项目,并且无法识别比 WebMvcConfigurer
更远的相同配置,现在替换为已弃用的 WebMvcConfigurerAdapter
.
我的配置:
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(jacksonMessageConverter());
WebMvcConfigurer.super.configureMessageConverters(converters);
}
public MappingJackson2HttpMessageConverter jacksonMessageConverter() {
MappingJackson2HttpMessageConverter messageConverter =
new MappingJackson2HttpMessageConverter();
List<MediaType> supportedMediaTypes=new ArrayList<>();
supportedMediaTypes.add(MediaType.APPLICATION_JSON);
supportedMediaTypes.add(MediaType.TEXT_PLAIN);
messageConverter.setSupportedMediaTypes(supportedMediaTypes);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Hibernate5Module());
messageConverter.setObjectMapper(mapper);
messageConverter.setPrettyPrint(true);
return messageConverter;
}
}
但在那之后我得到一个错误:
[WARN ] 2018-08-18 20:07:08.694 DESKTOP-ABFFHEJ --- [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session (through reference chain: com.ideatik.domain.Usuario["tipoUsuario"]->com.ideatik.domain.TipoUsuario_$$_jvst9b7_2["nombre"])
[WARN ] 2018-08-18 20:07:08.695 DESKTOP-ABFFHEJ --- [nio-8080-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.ideatik.domain.TipoUsuario#3] - no Session (through reference chain: com.ideatik.domain.Usuario["tipoUsuario"]->com.ideatik.domain.TipoUsuario_$$_jvst9b7_2["nombre"])
尝试在方法中添加@Bean
@Bean
public MappingJackson2HttpMessageConverter jacksonMessageConverter() {
.....
}