Я создаю серверную часть с помощью Spring Boot и MongoDB. Сначала я создаю пользовательский репозиторий, службу и контроллер и получаю следующую ошибку:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field userRepository in com.package.package.controller.UserController required a bean named 'mongoTemplate' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean named 'mongoTemplate' in your configuration.
Вот код:
UserController:
package com.package.package.controller;
import com.package.package.entities.User;
import com.package.package.repositories.UserRepository;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping(value = "/")
public List getAllUsers() {
return userRepository.findAll();
}
@GetMapping(value = "/{id}")
public User getUserById(@PathVariable("id") ObjectId id) {
return userRepository.findBy_id(id);
}
@PutMapping(value = "/{id}")
public void modifyUserById(@PathVariable("id") ObjectId id, @Valid @RequestBody User user) {
user.set_id(id);
userRepository.save(user);
}
@PostMapping(value = "/")
public User createUser(@Valid @RequestBody User user) {
user.set_id(ObjectId.get());
userRepository.save(user);
return user;
}
@DeleteMapping(value = "/{id}")
public void deleteUser(@PathVariable ObjectId id) {
userRepository.delete(userRepository.findBy_id(id));
}
}
Репозиторий пользователей:
package com.package.package.repositories;
import com.package.package.entities.User;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends MongoRepository {
User findBy_id(ObjectId _id);
}
Пользовательская служба:
package com.package.package.service;
import com.package.package.entities.User;
import org.bson.types.ObjectId;
import java.util.List;
public interface UserService {
User save(User user);
User findbyid(ObjectId _id);
List getAll();
void delete(User user);
}
Основное приложение:
package com.package.package;
import com.package.package.repositories.UserRepository;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
@SpringBootApplication
@EnableMongoRepositories(basePackageClasses = UserRepository.class)
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
В качестве ссылки я использую прошлый проект, который я создал (с той разницей, что это было сделано с помощью postgres).
Если вам нужна дополнительная информация, просто сообщите мне.Заранее спасибо.
ОБНОВЛЕНИЕ:
Вот pom.xml
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.3.2.RELEASE
com.wazzka
wazzka
0.0.1-SNAPSHOT
wazzka
WazzkaProject
14
5.2.8.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.data
spring-data-mongodb
3.0.3.RELEASE
org.springframework.data
spring-data-releasetrain
Lovelace-SR9
pom
import
org.springframework.data
spring-data-commons
2.2.3.RELEASE
jakarta.validation
jakarta.validation-api
2.0.2
org.springframework.data
spring-data-jpa
2.2.3.RELEASE
org.springframework.boot
spring-boot-starter-data-mongodb
spring-milestone
Spring Maven MILESTONE Repository
https://repo.spring.io/libs-milestone
org.springframework.boot
spring-boot-maven-plugin
Подробнее здесь: https://stackoverflow.com/questions/633 ... ot-mongodb
Нет доступных компонентов с именем «mongoTemplate». Весенняя загрузка + MongoDB ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Нет доступных компонентов с именем «mongoTemplate». Весенняя загрузка + MongoDB
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как обновить поле MongoDB, используя другое поле, используя Mongotemplate в Spring-Boot
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как обновить поле MongoDB, используя другое поле, используя Mongotemplate в Spring-Boot
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-