странное поведение с компонентами может при загрузке - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть 3 пакета:

  • основной пакет
  • хранилища
  • контроллер

в моем приложении SpringBoot, которое я аннотировал:

@SpringBootApplication
@ComponentScan({"mainpackage","repositories","controller"})

В моем пакете репозиториев у меня есть компонент:

@Component
public interface UserRepository extends CrudRepository<User,Long> {
}

В моем пакете контроллера у меня есть контроллер, который автоматически связывает компонент «репозиториев»:

@RestController
public class MyController {

    @Autowired
    private UserRepository userRepository;

что приводит к:

Unsatisfied dependency expressed through field 'userRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException

Что я делаю не так?

Хранение всех классов в одном пакете работает, но мне нравится иметь его немного структурированным.

1 Ответ

0 голосов
/ 18 декабря 2018

Вы используете spring-data-jpa хранилище, но, похоже, у вас нет @EnableJpaRepositories в вашем классе SpringBootApplication.

Пожалуйста, добавьте его, например:

@SpringBootApplication
@ComponentScan({"mainpackage","repositories","controller"})
@EnableJpaRepositories("repositories")

и вам также может понадобиться добавить @EntityScan с пакетом, в котором находятся ваши сущности:

@EntityScan("entities")
...