«Полю требовался компонент типа, который не удалось найти». ошибка Spring RESTful API с использованием MongoDBJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 «Полю требовался компонент типа, который не удалось найти». ошибка Spring RESTful API с использованием MongoDB

Сообщение Anonymous »

Итак, я изучал Spring последние пару недель и следил за руководством Создание веб-службы RESTful.
Все было хорошо, пока я не попытался интегрировать его с MongoDB. Поэтому я последовал руководству Доступ к данным с помощью MongoDB.
Но в моей практике частично все еще используется первый вариант. Итак, структура каталогов моего проекта такая:

Код: Выделить всё

src/
├── main/
│   └── java/
|       ├── model/
|       |   └── User.java
|       ├── rest/
|       |   ├── Application.java
|       |   ├── IndexController.java
|       |   └── UsersController.java
|       └── service/
|           └── UserService.java
└── resources/
└── application.properties
Это мой файл model/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 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 {
public List findAll();
}
Я мог бы скомпилировать их (я использую Gradle для компиляции, потому что следовал руководству), но когда я запускал файл JAR, он выдавал следующую ошибку:


ПРИЛОЖЕНИЕ НЕ ЗАПУСТИЛО

Описание:
Поле userService в main.java.rest.UsersController потребовался bean-компонент
типа 'main.java.service.UserService', который не удалось найти.
Действие:
Рассмотрите возможность определения bean-компонента типа 'main.java.service.UserService' в
вашей конфигурации.

Я не уверен, что не так. Я начал гуглить и обнаружил, что мне нужно включить файл Beans.xml и зарегистрировать в нем userService. Я это сделал, но это не работает.
Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/429 ... restful-ap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»