#spring #spring-boot #spring-data-jpa
#spring #spring-boot #spring-data-jpa
Вопрос:
Сведения о проекте: Один пакет репозитория, содержащий (src / main / java -> com.pluralSight.Repository)
@Component
public interface FlightRepository extends CrudRepository<Flight, Long>
Один пакет объектов, содержащий (src / main / java -> com.pluralSight.Сущность)
@Entity
public class Flight
Я тестирую репозиторий «Сохранить» с помощью тестового примера, написанного в springDataApplicationTests.java внизу (src / test / java -> com.pluralSight.SpringData)
@Component
@DataJpaTest
class SpringDataApplicationTests {
@Autowired
FlightRepository repository;
@Test
void testCrudRepository() {
Flight f = new Flight();
f.setArrivedFrom("America");
f.setDeparturedTo("Dubai");
repository.save(f);
Assertions.assertThat(repository.findAll()).hasSize(1);
}
}
Я создал два appConfig.java (попытка поиска и пробных решений).первый под src / main / java, а второй под src / test / java
@ComponentScan("com.pluralSight.Repository")
@Configuration
public class appConfig {
}
Но когда я запускаю тест, получаю ошибку
org.springframework.beans.factory.Исключение NoSuchBeanDefinitionException: нет подходящего компонента типа ‘com.pluralSight.Repository.Доступно FlightRepository: ожидается наличие как минимум 1 компонента, который квалифицируется как кандидат на автоматическое подключение. Аннотации зависимостей:
Комментарии:
1. Удалите эти классы конфигурации. Убедитесь, что ваш
@SpringBootApplication
аннотированный класс находится вcom.pluralSight
пакете, а не в подпакете.2. M. deinum man это сработало. SpringBootApplication было внутри подпакета. Я переместил его в com.pluralsight @M. Deinum