Поскольку вам нужна какая-то автоматическая разводка в вашем бине SimpleClass
, вам нужно аннотировать его свойство SomeService service
с помощью @Autowired
.
public class SimpleClass {
private String parameter;
@JsonIgnore
@Autowired
private SomeService service;
// getter and setter for parameter (omitted here for brevity)
public void doSomethingFromService(){
//call some methods from the service
}
}
Как уже говорили другие, ObjectMapper
не делает никаких инъекций зависимости.Но вы можете комбинировать @Autowired
-игнорирование ObjectMapper
с некоторым автоматическим подключением, запускаемым вручную.
Для этого вам понадобится AutowireCapableBeanFactory
, который вы получите путем обычного внедрения зависимостей Spring с@Autowired
.Затем вы используете его метод autowireBean(Object)
для добавления свойств @Autowired
компонента.
@Autowired
private AutowireCapableBeanFactory autowireCapableBeanFactory;
public void doSomething(Map<String, Object> value) throws Exception {
ObjectMapper om = new ObjectMapper();
SimpleClass bean = om.convertValue(value, SimpleClass.class);
autowireCapableBeanFactory.autowireBean(bean);
bean.doSomethingFromService();
}