Ниже представлена ​​моя структура каталогов

  1. com.example
  2. com.example.common
  3. com.example.test
  4. com.example.test.repository

мой основной класс весенней загрузки следующий

package com.example.test;

@Import({ AutoConfig.class })
@SpringBootApplication
public class testApplication {
  public static void main(String[] args) {
    SpringApplication.run(testApplication.class, args);
  }
}

мой класс репозитория

package com.example.test.repository.ConfigRepository;

 @Repository
 public interface ConfigRepository extends MongoRepository<Config, String>, QuerydslPredicateExecutor<Config> {

}

Это ошибка, которую я получаю в режиме отладки

DEBUG o.s.c.a.ClassPathBeanDefinitionScanner - игнорируется, поскольку не является конкретным классом верхнего уровня: файл [/ opt / / /target/classes/com/example/test/repository/ConfigRepository.class]

Класс AutoConfig, используемый в @import, показан ниже

package com.example.common;

@Configuration
@EnableFeignClients
@ComponentScan({ "com.example.common" })
public class AutoConfig {
2
Roshan 5 Сен 2020 в 11:43

1 ответ

Лучший ответ

Ваш ConfigRepository класс в com.example.test.repository этого пакета.

И, предоставляя @ComponentScan , вы передаете этот путь com.example.common .

Поэтому вместо этого вы просто попробовали использовать этот путь com.example.test , как показано ниже.

А также в файле SpringBootApplication или Config вы можете указать EnableMongoRepositories и настройку basePackages атрибуты.

package com.example.test;

@Import({ AutoConfig.class })
@EnableMongoRepositories(basePackages = {"com.example.test.repository"})
@SpringBootApplication
public class testApplication {
  public static void main(String[] args) {
    SpringApplication.run(testApplication.class, args);
  }
}

@Configuration
@EnableFeignClients
@ComponentScan({ "com.example.test" })
public class AutoConfig {

Подробнее о @EnableMongoRepositories вы получите от здесь. Это вам поможет.

1
Sagar Gangwal 5 Сен 2020 в 09:40