Java 类org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean 实例源码

项目:spring4-understanding    文件:AnnotationDrivenBeanDefinitionParser.java   
private GenericBeanDefinition createObjectMapperFactoryDefinition(Object source) {
    GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
    beanDefinition.setBeanClass(Jackson2ObjectMapperFactoryBean.class);
    beanDefinition.setSource(source);
    beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    return beanDefinition;
}
项目:spring4-understanding    文件:MessageBrokerBeanDefinitionParser.java   
private RuntimeBeanReference registerMessageConverter(Element element, ParserContext context, Object source) {
    Element convertersElement = DomUtils.getChildElementByTagName(element, "message-converters");
    ManagedList<? super Object> converters = new ManagedList<Object>();
    if (convertersElement != null) {
        converters.setSource(source);
        for (Element beanElement : DomUtils.getChildElementsByTagName(convertersElement, "bean", "ref")) {
            Object object = context.getDelegate().parsePropertySubElement(beanElement, null);
            converters.add(object);
        }
    }
    if (convertersElement == null || Boolean.valueOf(convertersElement.getAttribute("register-defaults"))) {
        converters.setSource(source);
        converters.add(new RootBeanDefinition(StringMessageConverter.class));
        converters.add(new RootBeanDefinition(ByteArrayMessageConverter.class));
        if (jackson2Present) {
            RootBeanDefinition jacksonConverterDef = new RootBeanDefinition(MappingJackson2MessageConverter.class);
            RootBeanDefinition resolverDef = new RootBeanDefinition(DefaultContentTypeResolver.class);
            resolverDef.getPropertyValues().add("defaultMimeType", MimeTypeUtils.APPLICATION_JSON);
            jacksonConverterDef.getPropertyValues().add("contentTypeResolver", resolverDef);
            // Use Jackson factory in order to have JSR-310 and Joda-Time modules registered automatically
            GenericBeanDefinition jacksonFactoryDef = new GenericBeanDefinition();
            jacksonFactoryDef.setBeanClass(Jackson2ObjectMapperFactoryBean.class);
            jacksonFactoryDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
            jacksonFactoryDef.setSource(source);
            jacksonConverterDef.getPropertyValues().add("objectMapper", jacksonFactoryDef);
            converters.add(jacksonConverterDef);
        }
    }
    ConstructorArgumentValues cavs = new ConstructorArgumentValues();
    cavs.addIndexedArgumentValue(0, converters);
    RootBeanDefinition messageConverterDef = new RootBeanDefinition(CompositeMessageConverter.class, cavs, null);
    return new RuntimeBeanReference(registerBeanDef(messageConverterDef, context, source));
}
项目:mojito    文件:Application.java   
/**
 * Configuration Jackson ObjectMapper
 *
 * @return
 */
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
    MappingJackson2HttpMessageConverter mjhmc = new MappingJackson2HttpMessageConverter();

    Jackson2ObjectMapperFactoryBean jomfb = new Jackson2ObjectMapperFactoryBean();
    jomfb.setAutoDetectFields(false);
    jomfb.setIndentOutput(shouldIndentJacksonOutput);
    jomfb.afterPropertiesSet();

    mjhmc.setObjectMapper(jomfb.getObject());
    return mjhmc;
}
项目:mojito    文件:AuthenticatedRestTemplate.java   
/**
 * Gets a customized {@link MappingJackson2HttpMessageConverter} to process
 * payload from TMS Rest API.
 *
 * @return
 */
protected void makeRestTemplateWithCustomObjectMapper(RestTemplate restTemplate) {
    logger.debug("Getting new rest template");

    for (HttpMessageConverter<?> httpMessageConverter : restTemplate.getMessageConverters()) {
        if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) {
            MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = (MappingJackson2HttpMessageConverter) httpMessageConverter;

            // Bug with application/x-spring-data-compact+json: https://jira.spring.io/browse/DATAREST-404
            logger.debug("Setting supported media type to just JSON. The Accept header will be updated accordingly to application/json");
            mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON));

            // This helps with joda deserialize of joda date time string
            logger.debug("Creating custom jackson2 objectmapper with serialization inclusion changes");
            Jackson2ObjectMapperFactoryBean jackson2ObjectMapperFactoryBean = new Jackson2ObjectMapperFactoryBean();
            jackson2ObjectMapperFactoryBean.setSerializationInclusion(JsonInclude.Include.NON_NULL);
            jackson2ObjectMapperFactoryBean.afterPropertiesSet();

            ObjectMapper objectMapper = jackson2ObjectMapperFactoryBean.getObject();
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

            mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
        }

        // The default encoding is set to ISO-8559-1 for String type, which is why we have to override it here
        // For more info: https://jira.spring.io/browse/SPR-9099
        if (httpMessageConverter instanceof StringHttpMessageConverter) {
            StringHttpMessageConverter stringHttpMessageConverter = (StringHttpMessageConverter) httpMessageConverter;
            stringHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(
                            MediaType.parseMediaType("text/plain;charset=UTF-8"),
                            MediaType.ALL)
            );
        }
    }
}
项目:bamboo    文件:RestrictionsDAO.java   
public static ObjectMapper makeJsonMapper() {
  Jackson2ObjectMapperFactoryBean factoryBean = new Jackson2ObjectMapperFactoryBean();
  factoryBean.setSimpleDateFormat(DATE_FORMAT);
  factoryBean.setFeaturesToDisable(SerializationFeature.WRITE_NULL_MAP_VALUES);
  factoryBean.afterPropertiesSet();
  return factoryBean.getObject();
}
项目:pinpoint    文件:ServerInstanceListSerializerTest.java   
private ObjectMapper createMapper() throws Exception {
    final Jackson2ObjectMapperFactoryBean factoryBean = new Jackson2ObjectMapperFactoryBean();

    final ServerInstanceSerializer serverInstanceSerializer = new ServerInstanceSerializer();

    final ServiceTypeRegistryService serviceTypeRegistryService = mockServiceTypeRegistryService();
    serverInstanceSerializer.setServiceTypeRegistryService(serviceTypeRegistryService);

    factoryBean.setHandlerInstantiator(new TestHandlerInstantiator());
    // TODO FIX spring managed object

    factoryBean.afterPropertiesSet();
    return factoryBean.getObject();
}
项目:class-guard    文件:Jackson2ObjectMapperFactoryBeanTests.java   
@Before
public void setUp() {
    factory = new Jackson2ObjectMapperFactoryBean();
}