感谢Sotirios Delimanolis评论,我得出了以下解决方案:
@Beanpublic ConversionServiceFactoryBean conversionService(Set<Converter<?, ?>> converters) { final ConversionServiceFactoryBean factory = new ConversionServiceFactoryBean(); factory.setConverters(converters); return factory;}这实际上是以下配置的简写:
@Beanpublic ConversionService conversionService(Set<Converter<?, ?>> converters) { final ConversionServiceFactoryBean factory = new ConversionServiceFactoryBean(); factory.setConverters(converters); factory.afterPropertiesSet(); // necessary return factory.getObject();}工厂一直处于未完成状态,直到调用
afterPropertiesSet(解释)。但是,如果
ConversionServiceFactoryBean返回本身而不是,则无需调用它
ConversionService。由于该工厂是一个
InitializingBean和
FactoryBeanSpring将调用
afterPropertiesSet和
getObject内部,如果需要ConversionService实例。



