Wpis z mikrobloga

Ktoś wie dlaczego krzyczy wyjątek:

No qualifying bean of type [info.noteme.repository.NoteRepository] found for dependency [info.noteme.repository.NoteRepository]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}


- Paczka do skanowania wskazana poprawnie
- Wszystkie komponenty z adnotacjami

@Repository
public interface NoteRepository {
List findNotes(long max, int count);
}

Kontroler, przy którego inicjalizacji krzyczy błąd. Macie jakis pomysl? #java #programowanie

@Controller
@RequestMapping("/notes")
public class NoteController {
private NoteRepository noteRepository;
@Autowired
public NoteController (NoteRepository noteRepository) {
this.noteRepository = noteRepository;
}
@RequestMapping(method=RequestMethod.GET)
public String notes(Model model) {
model.addAttribute("noteList", noteRepository.findNotes(Long.MAX_VALUE, 20));
return "notes";
}
}
  • 18
  • Odpowiedz
@efem: Zasada jest prosta, żeby powstał spring bean musi istnieć implementacja. Możesz albo sam zaimplementować interfejs albo zrobi to za ciebie spring-data (link który ci dałem), bo pod spodem spring-data generuje dla ciebie implementacje tego interfejsu. Nie da sie stworzyc instancji interfejsu -> spring nie wstrzyknie ci czegoś czego nie ma.
  • Odpowiedz
@slucham-psa-jak-gra: Nah, ta adnotacja jest zbedna, zauważ ze ta zmienna jest ustawiana przez metodę z adnotacja Autowired, więc i tak jest powiązanie.
@Legol: Hmm dziwne, bo przerabiam własnie jeden przyklad ze Spring w Akcji wyd. 4 i tam wlaśnie jest jak piszę, zarówno w ksiazke, w kodzie na ftp Helionu i na stronie autora... https://manning-content.s3.amazonaws.com/download/9/ef4e0ef-b7bd-4ab8-857d-eb635d18d425/SpringiA4_SourceCode.zip
Rozdział 05. Jego Spitter to moje Note. On tam nie wchodzi jeszcze w
  • Odpowiedz
@efem: a jeśli chcesz skorzystać ze spring data to dodaj tam np. extends Repository
a i nie wiem czy taka nazwa metody jest ok, zwykle to jest np. findByMaxAndCount(long max, int count)
  • Odpowiedz
@efem: No to albo ufaj książce i ci nie bedzie dzialac albo zaufaj mi i ci zacznie dzialac. Zreszta nawet w przykladowym kodzie ktory podlinkowales masz implementacje. Nie wiem po co sie produkuje jeszcze...
  • Odpowiedz