Spring не загружает бины данных (@Repository) из зависимости

ситуация

У меня есть модульное приложение Spring Boot, которое в настоящее время состоит из applicationProject, который включает в себя первый подмодуль moduleA как зависимости (maven).

Это позволяет applicationProject быть единым Java-классом, который инициализирует приложение Spring, где фактическая функциональность предоставляется модулями, определенными как зависимости.

Все мои модули, а также applicationProject находятся под базовым пакетом com.mycompany.myproduct,

мой applicationProject Java-класс выглядит так просто:

@SpringBootApplication(scanBasePackages ="com.mycompany.myproduct")
public class MyApp {

    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}

В моем moduleA проект я не использую @ComponentScan аннотация или расширение этого.

вопрос

Когда я запускаю свое приложение таким образом, я получаю UnsatisfiedDependencyException, а Spring пытается инициализировать бин ServiceA что это само зависит от другого боба RepositoryA оба определены в moduleA,

Это заставляет меня предположить, что Spring обнаруживает bean-компоненты, но неправильно строит дерево зависимостей, что приводит к неправильному порядку создания экземпляров bean-компонентов.

При добавлении

@EnableJpaRepositories(basePackages = "com.mycompany.myproduct")
@EntityScan(basePackages = "com.mycompany.myproduct")

к инициализации MyApp класс, пружина загружает бобы правильно, и приложение работает успешно.

Мне кажется, что это обходной путь или зачем мне снова объявлять базовый пакет для @EnableJpaRepositories а также @EntityScan когда я уже объявил базовый пакет в SpringBootApplication аннотаций?

Или это даже недостаток независимых весенних проектов?

0 ответов

Другие вопросы по тегам