Свойства поля в... требуется компонент типа... который не может быть найден
У меня есть следующая структура проекта:
ApplicationConfiguration:
@Configuration
@ComponentScan(basePackages = {"configuration", "nsd"}) //<- base packages here
public class ApplicationConfiguration {
}
ApplicationProperties:
@Component
@EnableConfigurationProperties
public class ApplicationProperties {
...
MyRestController:
@RestController
public class MyRestController {
@Autowired
private ApplicationProperties properties; // <-- could not autowire
...
Когда я запускаю приложение, я вижу:
*************************** Приложение не удалось запустить
Описание:
Свойства поля в nsd.MyRestController требовали bean-компонента типа 'configuration.ApplicationProperties', который не может быть найден.
Действие:
Попробуйте определить bean-компонент типа "configuration.ApplicationProperties" в вашей конфигурации.
Я не понимаю почему. ComponentScan предоставляется в классе конфигурации.
Как решить эту проблему?
Обновить
Если переместить ApplicationProperties в nsd
пакет - контекст правильно, но я до сих пор не понимаю, почему он не работает из старого пакета