Spring Boot在初始化的过程中会把Converter,Formatter和GenericConverter类型的Bean注册到ConverterService对象中。以前的代码是在WebMvcAutoConfigurationAdapter中,但是现在已经转换到ApplicationConversionService中,而且具体的逻辑已经把Formatter类型的Bean给排除了,但是服务类还在获取他,有点绕
我的问题是,我是找错源码了,还是已经改掉了
public static void addBeans( FormatterRegistry registry, ListableBeanFactory beanFactory) {
Set< Object> beans = new LinkedHashSet( ) ;
beans.addAll( beanFactory.getBeansOfType( GenericConverter.class) .values( )) ;
beans.addAll( beanFactory.getBeansOfType( Converter.class) .values( )) ;
beans.addAll( beanFactory.getBeansOfType( Printer.class) .values( )) ;
beans.addAll( beanFactory.getBeansOfType( Parser.class) .values( )) ;
Iterator var3 = beans.iterator( ) ;
while( var3.hasNext( )) {
Object bean = var3.next( ) ;
if ( bean instanceof GenericConverter) {
registry.addConverter(( GenericConverter) bean) ;
} else if ( bean instanceof Converter) {
registry.addConverter(( Converter) bean) ;
} else if ( bean instanceof Formatter) {
registry.addFormatter(( Formatter) bean) ;
} else if ( bean instanceof Printer) {
registry.addPrinter(( Printer) bean) ;
} else if ( bean instanceof Parser) {
registry.addParser(( Parser) bean) ;
}
}