Recent Posts
Recent Comments
밍쎄의 코딩공간
스프링부트를 통해 계좌 만들기 본문
간략하게 정리해본 계좌(Account)만들기
1. 프로젝트 생성 및 의존성 추가:
- 스프링 부트 프로젝트를 생성합니다. Spring Initializr (https://start.spring.io/)를 사용하거나 스프링 부트 CLI를 이용할 수 있습니다.
- 프로젝트 설정에서 사용할 언어, 빌드 도구, 의존성 등을 선택합니다.
- 계좌 생성에는 Spring Web과 Spring Data JPA 등의 의존성이 필요합니다. 이를 pom.xml (Maven) 또는 build.gradle (Gradle) 파일에 추가합니다.
2. 데이터베이스 모델의 정의 :
- Account라는 이름의 클래스를 생성하여 계좌 정보를 표현하는 모델 클래스를 만듭니다.데이터베이스 모델 정의:
@Entity
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String accountNumber;
private String ownerName;
private double balance;
// Getter와 Setter 메서드
}
- @Entity 어노테이션은 이 클래스가 JPA 엔티티임을 표시하며, 필드들은 데이터베이스 테이블의 컬럼과 매핑됩니다.
3. 데이터베이스 연결 설정:
- application.properties 또는 application.yml 파일에 데이터베이스 연결 정보를 설정합니다.
spring.datasource.url=jdbc:mysql://localhost:3306/bankdb
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
- 위의 예시는 MySQL 데이터베이스를 사용하는 설정입니다. 필요에 따라 데이터베이스 종류와 연결 정보를 변경하세요.
4. 컨트롤러 생성:
- AccountController라는 이름의 컨트롤러 클래스를 생성합니다.
@RestController
@RequestMapping("/accounts")
public class AccountController {
private final AccountService accountService;
@Autowired
public AccountController(AccountService accountService) {
this.accountService = accountService;
}
@PostMapping
public ResponseEntity<Account> createAccount(@RequestBody Account account) {
Account newAccount = accountService.createAccount(account);
return ResponseEntity.status(HttpStatus.CREATED).body(newAccount);
}
}
-
- @RestController 어노테이션은 컨트롤러가 RESTful 엔드포인트를 처리함을 나타냅니다.
- @PostMapping 어노테이션은 POST 요청을 처리하는 메서드를 정의합니다.
- @RequestBody 어노테이션은 요청 본문에서 JSON 데이터를 파싱하여 Account 객체로 매핑합니다.
5. 서비스 생성:
- AccountService라는 이름의 서비스 인터페이스를 생성합니다.
public interface AccountService {
Account createAccount(Account account);
}
- AccountServiceImpl이라는 이름의 서비스 구현 클래스를 생성하고, AccountService 인터페이스를 구현합니다. 이 클래스에서 실제 계좌 생성 로직과 데이터베이스 저장을 처리합니다.
6. POST 요청 처리:
- AccountServiceImpl에서 계좌 생성 로직을 구현합니다.
@Service
public class AccountServiceImpl implements AccountService {
private final AccountRepository accountRepository;
@Autowired
public AccountServiceImpl(AccountRepository accountRepository) {
this.accountRepository = accountRepository;
}
@Override
public Account createAccount(Account account) {
return accountRepository.save(account);
}
}
- AccountRepository는 Spring Data JPA를 사용하여 데이터베이스와 상호 작용하는 인터페이스입니다.
7. 응답 처리:
AccountController에서 계좌 생성이 성공한 경우, HTTP 상태 코드 201 Created와 생성된 계좌 정보를 반환합니다.
8.테스트:
- JUnit 또는 TestNG를 사용하여 서비스와 컨트롤러의 유닛 테스트와 통합 테스트를 작성합니다.
728x90
'개념정리' 카테고리의 다른 글
딥러닝과 머신러닝 그리고 인공지능 (0) | 2025.04.03 |
---|---|
실전 배당금 프로젝트 개념 (초기단계) (0) | 2023.08.27 |
Service, ServiceImpl (0) | 2023.08.27 |
스프링 핵심 원리 - 싱글톤 (2) | 2023.08.20 |
스프링 핵심 원리 기본편 정리 (0) | 2023.08.20 |