Я пытаюсь переключиться с Gson на Jackson в веб-приложении Spring 4 (не Boot).По ряду причин я все еще использую конфигурацию приложения XML для определения своих компонентов.Неважно, что я пытаюсь, я не могу заставить ObjectMapper
Джексона или любую другую фабрику быть доступной для инъекции в мой целевой класс.Вот ошибка, которую я получаю:
NoSuchBeanDefinitionException: нет подходящего компонента типа 'com.fasterxml.jackson.databind.ObjectMapper'
Я пробовал следующие дваконфигурации, которые не работают:
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
</bean>
</property>
</bean>
// java code
@Autowired
private Jackson2ObjectMapperBuilder objectMapper;
и:
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="serializationInclusion" value="NON_NULL"/>
</bean>
</property>
</bean>
// java code
@Autowired
private ObjectMapper objectMapper;
Я прочитал здесь много вопросов о переполнении стека, но большинство ответов предполагают, что читатель использует Boot, иличто он не хочет использовать конфигурацию XML старой школы.К сожалению, в моем случае я использую XML и не использую Boot.