그래서 저는 몇 주 동안 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를 등록 해야한다는 것을 알았 습니다. 내가했지만 작동하지 않습니다. 나는 이것에 정말 익숙해 져서 무슨 일이 일어나고 있는지 전혀 모른다.