Spring JPA-Repository-Instanz wurde nicht erstellt
Folgte ich dem Beispiel, dass die Feder Organisation bietet hier für Spring Data JPA.
Dies ist mein repository-Schnittstelle:
public interface CustomerRepository extends CrudRepository<Customer, Long> {
List<Customer> findByLastName(String lastName);
}
- Und dies ist ein Ausschnitt meiner Application-Klasse:
@Configuration
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(Application.class);
CustomerRepository repository = context.getBean(CustomerRepository.class);
Bekomme ich die folgende Fehlermeldung :
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [hello.CustomerRepository] is defined
Ich habe versucht, das hinzufügen einer @Repository
Kommentar zu CustimerRespository
und die @ComponentScan
Kommentar zu den Application
Klasse, aber Ergebnis ist das gleiche.
- Das Paket ist
Application
Lebe? Das Paket istCustomerRepository
Lebe? - Alle Klassen im gleichen Paket, mit dem Namen "Hallo".
- Irgendeine chance, dass Sie das Projekt freigeben?
- Ja. Hier ist ein GitHub-repository: github.com/oanacioara/SpringJpaExample
- Gibt es einen bestimmten Grund, warum Sie nicht verwenden, Spring Boot zu verwalten, Abhängigkeiten ? also : entweder über das parent oder "bill of material" über scope-import
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem und
@EnableAutoConfiguration
gelöst.Wenn es nicht funktionieren automatisch, deaktivieren Sie die
JpaRepositoriesAutoConfiguration
und geben Sie explizit die repositories base-package:Glück.
At least one JPA metamodel must be present!
Ausnahme. Spring Boot 1.5.6.RELEASE.Vielleicht versuchen Sie auf die Konfiguration-Klasse
versuchen, fügen Sie @EnableJpaRepositories und @ComponentScan Anmerkungen in der Application-Klasse zu sehen, wenn Sie Sie hinzufügen, die Ihr problem lösen.
Wenn es immer noch nicht funktioniert, fügen Sie @ - Konfiguration in Ihrer CustomerRepository-interface und dann in die Application-Klasse hinzufügen @Import(CustomerRepository .Klasse).
lassen Sie mich wissen, wenn Sie funktioniert.