У меня есть проблема с @Autowired property в @Configuration bean.@Autowired bean свойство null в @Configuration bean
У меня есть компонент, аналогичный приведенному ниже:
@Configuration
public class MyConfig {
@Autowired MongoTemplate mongoTemplate;
@Bean
MongoDbMetadataStore indexMetadataStore() {
return new MongoDbMetadataStore(mongoTemplate, "index");
}
}
и ... mongoTemplate равно нулю при создании indexMetadataStore боб (проверено с отладчиком). К сожалению, я не могу предоставить всю структуру проекта, он большой (он имеет ~ 5 файлов конфигурации XML и около 20-30 @ Конфигурационные компоненты), и моя ставка заключается в том, что там может быть круговая ссылка или что-то вроде.
Однако этот бобин mongoTemplate создан ранее и вводится другим фасолью (также проверяется с помощью отладчика), поэтому на этом этапе mongoTemplate полностью создан, и я не могу понять, почему он не вводится и остается нулевым.
Любые идеи, где я должен смотреть?
пакет класса MyConfig входит в состав сканирования компонентов? –
Возможно, вам потребуется использовать аннотацию '@ AnnotationDrivenConfig'. Не видя полного примера, это просто догадывается. http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch04s02.html –
Аннотации '@ AnnotationDrivenConfig', похоже, были удалены весной 4. –