Vì vậy, tôi đã học Mùa xuân trong các cặp đôi trong tuần, theo hướng dẫn này
Xây dựng một dịch vụ web RESTful
Tất cả đều tốt cho đến khi tôi cố gắng tích hợp nó vào mongodb. Vì vậy, tôi làm theo hướng dẫn này.
Nhưng thực tế của tôi một phần vẫn là sử dụng cái đầu tiên. Vì vậy, cấu trúc thư mục dự án của tôi là như thế này.
src/
├── main/
│ └── java/
| ├── model/
| | └── User.java
| ├── rest/
| | ├── Application.java
| | ├── IndexController.java
| | └── UsersController.java
| └── service/
| └── UserService.java
└── resources/
└── application.properties
Đây là mô hình / tệp User.java của tôi
package main.java.model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="user")
public class User {
private int age;
private String country;
@Id
private String id;
private String name;
public User() {
super();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}
Đây là tệp còn lại / UsersController.java của tôi
package main.java.rest;
import java.util.List;
import main.java.service.UserService;
import main.java.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/users")
public class UsersController {
@Autowired
UserService userService;
@RequestMapping(method = RequestMethod.GET)
public List<User> getAllUsers() {
return userService.findAll();
}
}
Đây là dịch vụ / tệp UserService.java của tôi
package main.java.service;
import java.util.List;
import main.java.model.User;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserService extends MongoRepository<User, String> {
public List<User> findAll();
}
Tôi có thể biên dịch chúng (tôi đang sử dụng gradle để biên dịch vì tôi đang làm theo hướng dẫn), nhưng khi tôi chạy tệp jar, nó đã gặp lỗi này.
KHÔNG BẮT ĐẦU ỨNG TUYỂN
Sự miêu tả:
Trường userService trong main.java.rest.UsersController yêu cầu một bean kiểu 'main.java.service.UserService' không thể tìm thấy.
Hoạt động:
Xem xét việc xác định bean kiểu 'main.java.service.UserService' trong cấu hình của bạn.
Không chắc chắn điều gì sai, tôi bắt đầu tìm kiếm xung quanh và thấy rằng tôi cần phải bao gồm Beans.xml
tệp và đăng ký userService trong đó. Tôi đã làm điều đó nhưng nó không hoạt động. Tôi thực sự mới làm quen với điều này nên tôi thực sự không có manh mối về những gì đang xảy ra.