說在前面spring
本次開始spring-boot-autoconfigure源碼解析之HttpMessageConvertersAutoConfiguration,springboot轉換器默認支持jsonjson
源碼解析springboot
@Configuration @ConditionalOnClass(HttpMessageConverter.class) @AutoConfigureAfter({ GsonAutoConfiguration.class, JacksonAutoConfiguration.class }) //http消息轉化器默認是json @Import({ JacksonHttpMessageConvertersConfiguration.class, GsonHttpMessageConvertersConfiguration.class }) public class HttpMessageConvertersAutoConfiguration { static final String PREFERRED_MAPPER_PROPERTY = "spring.http.converters.preferred-json-mapper"; private final List<HttpMessageConverter<?>> converters; public HttpMessageConvertersAutoConfiguration( ObjectProvider<List<HttpMessageConverter<?>>> convertersProvider) { this.converters = convertersProvider.getIfAvailable(); } // 加載converters @Bean @ConditionalOnMissingBean public HttpMessageConverters messageConverters() { return new HttpMessageConverters((this.converters != null) ? this.converters : Collections.<HttpMessageConverter<?>>emptyList()); } @Configuration @ConditionalOnClass(StringHttpMessageConverter.class) @EnableConfigurationProperties(HttpEncodingProperties.class) protected static class StringHttpMessageConverterConfiguration { private final HttpEncodingProperties encodingProperties; protected StringHttpMessageConverterConfiguration( HttpEncodingProperties encodingProperties) { this.encodingProperties = encodingProperties; } // 初始化StringHttpMessageConverter @Bean @ConditionalOnMissingBean public StringHttpMessageConverter stringHttpMessageConverter() { StringHttpMessageConverter converter = new StringHttpMessageConverter( this.encodingProperties.getCharset()); converter.setWriteAcceptCharset(false); return converter; } } }
說在最後app
本次僅表明我的觀點,僅供參考。ide