java - Spring Boot 2 中无法识别 MappingJackson2HttpMessageConverter 配置

标签 java spring hibernate spring-boot jackson-databind

我已经使用 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() {
   .....
}

关于java - Spring Boot 2 中无法识别 MappingJackson2HttpMessageConverter 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51913764/

相关文章:

java - 查找点是否在多边形内 - JAVA jts/awt/geotools

java - java 代码遇到问题

javascript - 如何使用 spring 和 jsp 在列表中显示上传的文档

hibernate - 捕获 hibernate 异常 SqlExceptionHelper

mysql - 如何使用 Play、MySQL 和 Hibernate 自定义查询 ManyToMany 表?

java - 如何通过一个数字(float)并用一个 int 分别获取每个数字。 java

java - HashMap 上的双重检查锁定 - 线程安全?

java - Spring Roo DBRE 使用 GWT 生成项目的问题

java - 当页面没有元素时返回空的 "content"数组

java - hibernate 错误: unexpected AST node