【问题标题】:How to modify the ObjectMapper in JHipster project?如何修改 JHipster 项目中的 ObjectMapper?
【发布时间】:2014-12-20 21:00:39
【问题描述】:

我在配置 JHipster 中的默认 ObjectMapper 以允许 JsonViews 并将 Hibernate4Module 模块的 FORCE_LAZY_LOADING 属性设置为 false 时遇到问题。

我尝试了三件事都没有成功:

1) 使用@Primary 注解创建@Bean 替换默认bean:

@Bean
@Primary
public ObjectMapper viewsObjectMapper(){ 
     ObjectMapper mapper = new ObjectMapper();
     Hibernate4Module hibernateModule = new Hibernate4Module(); 
     hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, false);       mapper.registerModule(hibernateModule);
     mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
     return mapper;
 }

2)我修改了DatabaseConfiguration类中的@BeanHibernate4Module如下:

@Bean
public Hibernate4Module hibernate4Module() {
    Hibernate4Module hibernateModule = new Hibernate4Module();
    hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, true);
    return hibernateModule;
}

3) 还有这个solution

任何帮助将不胜感激。

【问题讨论】:

    标签: spring-mvc spring-boot jhipster


    【解决方案1】:

    您可以按照Spring Boot's documentation 中的说明进行操作。在 Spring Boot 中,不需要在扩展 WebMvcConfigurationSupport@Configuration 类中声明 ObjectMapper。 JHipster 创建了一个名为 WebConfigurer 的 @Configuration 类,您可以在其中放置以下代码:

    @Bean
    public ObjectMapper viewsObjectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);    
        Hibernate4Module hibernateModule = new Hibernate4Module();
        hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, false);          
        objectMapper.registerModule(hibernateModule);       
        return objectMapper;
    }
    
    @Bean
    public MappingJackson2HttpMessageConverter jackson2Converter() {
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converter.setObjectMapper(viewsObjectMapper());          
        return converter;
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 2023-01-12
      • 2017-08-02
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多