我有這樣的XML:如何使用java配置配置Spring ConversionService?
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="converters.AddressToStringConverter" />
<bean class="converters.StringToAddressConverter" />
</list>
</property>
</bean>
它配置轉換器沒有問題。
但是那麼這段代碼不能做出同樣的:
@Configuration
public class ConversionConfiguration {
@Bean
public ConversionService getConversionService() {
ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean();
bean.setConverters(getConverters());
bean.afterPropertiesSet();
ConversionService object = bean.getObject();
return object;
}
private Set<Converter> getConverters() {
Set<Converter> converters = new HashSet<Converter>();
converters.add(new AddressToStringConverter());
converters.add(new StringToAddressConverter());
return converters;
}
}
這片配置得到通過上下文掃描 - 我與調試檢查它。問題在哪裏?
注意:你不需要做'的afterPropertiesSet()'和'返回bean.getObject()' - 只返回工廠bean ,Spring會爲你調用'afterPropertiesSet()'和'getObject()'。 –