728x90
도메인 클래스 생성
사용자 정보를 표현할 도메인 클래스 (User)를 생성합니다.
src/main/java/com/gmovie/gmovie/domain/User.java
package com.gmovie.gmovie.domain;
public class User {
private Long id;
private String name;
private String email;
// getters and setters...
}
레포지토리 인터페이스 생성
데이터베이스와의 상호작용을 위한 레포지토리 인터페이스를 생성합니다. Spring Data JPA가 제공하는 JpaRepository 인터페이스를 상속받으면 기본적인 CURD 연산 메서드가 자동으로 제공됩니다.
package com.gmovie.gmovie.repository;
import com.gmovie.gmovie.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
서비스 클래스 생성
비즈니스 로직을 처리하는 서비스 클래스를 생성합니다. 일반적으로 서비스 클래스에서는 레퍼지토리를 이용하여 데이터베이스와의 상호작용을 수행합니다.
package com.gmovie.gmovie.service;
import com.gmovie.gmovie.domain.User;
import com.gmovie.gmovie.repository.UserRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
@Transactional
public User saveUser(User user) {
return userRepository.save(user);
}
// ...other methods as needed...
}
컨트롤러 클래스 생성
클라이언트 요청을 처리할 컨트롤러 클래스를 생성합니다. 컨트롤러에서는 HTTP 요청을 받아 적절한 서비스 메서드를 호출하고 응답을 반환합니다.
package com.gmovie.gmovie.controller;
import com.gmovie.gmovie.domain.User;
import com.gmovie.gmovie.service.UserService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@PostMapping
public ResponseEntity<User> createUser(@RequestBody User user) {
return ResponseEntity.ok(userService.saveUser(user));
}
// ...other methods as needed...
}
이렇게 하면 간단한 사용자 관리 API가 생성된 겁니다. 이주 기본적인 부분이며 추후에 에러 처리, 입력 값 검증, 로깅 등의 추가적인 작업이 필요합니다.
저는 여기서 오라클 데이터베이스를 연동할 것이기 때문에...
application.properties 파일에 JDBC URL, 사용자 이름, 비밀번호 등을 설정하고 build.gradle 파일에서 의존성을 추가합니다.
728x90
'2023-02 몰입형 SW 정규 교육 > 9월 프로젝트' 카테고리의 다른 글
[SpringBoot] Session 및 DB에 UUID 저장 (0) | 2023.10.09 |
---|---|
[Spring Boot] vs code build.gradle 플러그인 에러 (0) | 2023.09.27 |
React 프로젝트에 MongoDB 연결하기 (0) | 2023.09.19 |
[MongoDB] 커넥션 생성하기 (0) | 2023.09.18 |
MongoDB 설치하기 (0) | 2023.09.18 |