1. mongoDB설치
Try MongoDB Community Edition
Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project!
www.mongodb.com
에서 MongoDB Community Server를 받아 설치해준다.
보통 mongoDB compass도 같이 설치할 것인데,
위와같이 Databases쪽에 사용할 db를 생성해준다.
또한, RDB의 Table과 비슷한 개념인 Collection(콜렉션)을 생성해준다.
2. Spring Boot 프로젝트 생성
MongoDB 버전은 7.0, Spring Boot 버전은 3.2.2 버전으로 진행하였다.
gradle에 web과 mongodb 라이브러리를 추가해준다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
3. MongoDB 연결
application.properties에 MongoDB연결을 설정해준다.
spring.data.mongodb.uri=mongodb://localhost:27017/생성한 db이름
4. Entity 및 Repository 클래스 생성
MongoDB 컬렉션에 매핑되는 엔티티 클래스 및 Repository를 만들어주자.
Entity
@Document(collection = "user")
public class User {
@Id
private String id;
private String name;
private int age;
// 생성자, getter, setter 등 필요한 메서드 추가
}
Repository
public interface UserRepository extends MongoRepository<User, String> {
}
5. 기본 CRUD 서비스 레이어 생성
@Service
public class UserService {
private UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public List<User> getAllUser() {
return userRepository.findAll();
}
public User saveUser(User user) {
return userRepository.save(user);
}
public void deleteUserById(String id) {
userRepository.deleteById(id);
}
}
6. 컨트롤러 생성
@RestController
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/user")
public List<User> getAllUserList() {
return userService.getAllUser();
}
@PostMapping("/user")
public User saveUser(@RequestBody User user) {
return userService.saveUser(user);
}
@DeleteMapping("/user")
public void deleteUserById(@RequestParam String id) {
userService.deleteUserById(id);
}
}
7. 테스트
간단하게 PostMan으로 확인해보겠다.
잘 되었음을 확인할 수 있다.
728x90
'개발 공부 기록 > 02. Spring Boot' 카테고리의 다른 글
Spring Boot에서 MQTT 사용해보기 (0) | 2024.02.13 |
---|---|
Mybatis 기본적인 사용법 정리 (0) | 2024.01.25 |
JPA, Hibernate, Spring Data JPA란? (0) | 2023.12.11 |
스프링 컨테이너를 다루는 방법 (0) | 2023.12.10 |
스프링 빈과 스프링 컨테이너란? (0) | 2023.12.10 |