所以我在接下来的几周里一直在学习Spring,一直在关注本教程
在我尝试将其集成到mongodb之前,一切都很好。所以我按照本教程。
但是我的做法部分仍然是使用第一个。所以我的项目目录结构是这样的。
src/
├── main/
│   └── java/
|       ├── model/
|       |   └── User.java
|       ├── rest/
|       |   ├── Application.java
|       |   ├── IndexController.java
|       |   └── UsersController.java
|       └── service/
|           └── UserService.java
└── resources/
    └── application.properties
这是我的模型/User.java文件
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;
    }
}
这是我的rest / UsersController.java文件
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();
    }
}
这是我的service / UserService.java文件
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();
}
我可以编译它们(我正在使用gradle进行编译,因为我正在按照教程进行操作),但是当我运行jar文件时,它会抛出此错误。
申请启动失败
描述:
main.java.rest.UsersController中的userService字段需要一个类型为'main.java.service.UserService'的Bean。
行动:
考虑在配置中定义类型为“ main.java.service.UserService”的bean。
不确定出什么问题后,我开始四处搜寻,发现需要包含Beans.xml文件并在其中注册userService。我做到了,但是没有用。我真的很陌生,所以我对发生的事情一无所知。