我正在學習Spring Boot,我試圖製作一個非常簡單的應用程序,它使用動態查詢從MongoDB中獲取數據。我使用Intellij作爲我的IDE。Spring Mongo DB基於註釋的配置
FILE:application.properties(資源文件夾中)
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);
}
FILE:Config.java
@Configuration
@EnableMongoRepositories(basePackages = {"mongo.customQueries"})
public class Config {
}
FILE: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"));
}
}
當我運行該項目,我得到一個錯誤
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [mongo.customQueries.MyRepo] is defined
這是什麼我在這裏失蹤?爲什麼我的MyRepo bean沒有創建,因爲網上的大多數示例都這樣做。
刪除@Autowired註釋。當您使用上下文來實例化MyRepo bean時不需要。 – Veeram
我刪除了,仍然無法使用。 – Juvenik
您無法自動裝載靜態字段。 – chrylis