Я довольно новичок в весне, и в настоящее время я следую учебному курсу о том, как использовать службы и репозитории вместе с @autowired, но после выполнения каждого шага он, похоже, не работает меня. Из чтения ошибки, которую я получаю, я вижу, что инъекция компонента с помощью @Autowired не работает для класса сервиса, который я создал, потому что он не находит класс с соответствующими критериями.Инъекция компонента с @Autowired не работает
Это мой служебный интерфейс .
public interface ArtistService {
void save(Artist artist);
Artist get(int id);
void remove(Artist artist);
List<Artist> findAll();
}
Это мой класс, реализующий мой интерфейс сервиса
@Service
public class ArtistServiceImpl implements ArtistService {
ArtistRepository artistRepository;
@Autowired
public ArtistServiceImpl(ArtistRepository artistRepository) {
this.artistRepository = artistRepository;
}
(методы интерфейса реализованы, но опущены, чтобы сохранить этот компактный)
И мой загрузки приложения
@SpringBootApplication
public class JdbcTutorialApplication implements CommandLineRunner {
@Autowired
ArtistService artistService;
@Autowired
ArtistRepository artistRepository;
}
@Autowired также не работает для репозитория, который я пытаюсь добавить, но в основном это то же самое, что и это, но это репозиторий.
Ниже приводится первая строка ошибки я получаю
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTutorialApplication': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: ie.cit.oossp.service.ArtistService ie.cit.oossp.JdbcTutorialApplication.artistService; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artistServiceImpl' defined in file [C:\Users\Sean\Documents\College\3rd Year\OOSSP\STSWorkspace\JdbcTutorial\target\classes\ie\cit\oossp\service\ArtistServiceImpl.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [ic.cit.oossp.repository.ArtistRepository]: No qualifying bean of type [ic.cit.oossp.repository.ArtistRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [ic.cit.oossp.repository.ArtistRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Создайте bean-компонент, который является типом ArtistRepository и повторите попытку. – JToddler
У вас есть в контексте вашего приложения? –
nnunes10
@JToddler У меня есть класс репозитория, структурированный в основном таким же, как мой класс обслуживания, но с тегом репозитория вместо – Sean