Ich lerne Spring Boot und ich versuche, eine sehr einfache App zu machen, die Daten von Mongo DB abruft, indem Sie dynamische Abfragen verwenden. Ich benutze Intellij als meine IDE.Spring Mongo DB mit Annotation-basierten Konfigurationen
FILE: application.properties (innen Ressourcenordner)
spring.mongo.host=127.0.0.1
spring.mongo.port=27017
spring.mongo.databaseName=spring
FILE: person.java
@Document (collection = "person")
public class Person {
@Id
String id;
int age;
String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
FILE: MyRepo.java
@Repository
public interface MyRepo extends PagingAndSortingRepository<Person, String> {
public List<Person> findAllByName(String name);
}
DATEI: Config.java
@Configuration
@EnableMongoRepositories(basePackages = {"mongo.customQueries"})
public class Config {
}
DATEI: Main.java
public class Main {
@Autowired
public static MyRepo myRepo;
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
MyRepo myRepo = context.getBean(MyRepo.class);
System.out.println(myRepo.findAllByName("Avishek"));
}
}
Als ich das Projekt ausführen, ich einen Fehler
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [mongo.customQueries.MyRepo] is defined
Was es ist dass ich hier vermisse? Warum wird meine MyRepo-Bean nicht erstellt, da die meisten Beispiele im Netz dies tun?
@Autowired Annotation entfernen. Wird nicht benötigt, wenn Sie Kontext verwenden, um MyRepo-Bean zu instanziieren. – Veeram
Ich habe entfernt, immer noch nicht funktioniert. – Juvenik
Sie können statische Felder nicht automatisch aktivieren. – chrylis