Я использую конфигурацию на Java для настройки моего контекста приложения Spring следующим образом:
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
Beans, явно определенные в конфиге, загружаются лениво, как и следовало ожидать. Однако сканированные классы, аннотированные с помощью @Named
, всегда загружаются с нетерпением. Как я могу это решить?
Любая помощь приветствуется.
Обратите внимание, что для классов в пакете MyProject
я могу обойти это, аннотируя их с помощью @Lazy
. Но другой проект не имеет зависимости от Spring, и я хочу сохранить его таким образом (отсюда @Named
, а не @Component
).
Обратите внимание также, что это не является проблемой, связанной с конфигурацией на основе XML. Там, устанавливая default-lazy-init="true"
в тегах <beans>
, чтобы делать то, что я хочу (хотя я не тестировал это).