💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발에 대해 공부하고, 정리한 내용입니다.
1. 애플리케이션 구현 준비
1) 구현 요구사항
(1) 요구사항 분석 - 01
- 기능 목록
- 회원 기능
- 회원 등록
- 회원 조회
- 상품 기능
- 상품 등록
- 상품 수정
- 상품 조회
- 주문 기능
- 상품 주문
- 주문 내역 조회
- 주문 취소
- 회원 기능
- 예제를 단순화하기 위해 다음 기능은 구현하지 않음
- 로그인과 권한 관리
- 파라미터 검증과 예외 처리
- 상품은 도서만 사용
- 카테고리
- 배송 정보
2) 애플리케이션 아키텍처
(1) 애플리케이션 아키텍처 - 01
- 계층형 구조 사용
- Controller, Web 계층: 웹 요청을 처리하고 응답을 반환.
- Service 계층: 비즈니스 로직과 트랜잭션 관리.
- Repository 계층: JPA를 사용해 데이터베이스와 소통.
- Domain 계층: 도메인 모델의 엔티티가 위치.
(2) 패키지 구조
jpabook.jpashop- domain: 엔티티 및 도메인 모델.
- exception: 애플리케이션 예외 관리.
- repository: 데이터베이스 접근 계층.
- service: 비즈니스 로직 처리 계층.
- web: 웹 요청 처리 계층.
(3) 개발 순서
- Service, Repository 계층 개발
- 테스트 케이스 작성 및 검증
- Web 계층 적용
2. 총 정리
- 구현 요구사항을 명확히 정의하여 개발 범위 설정: 핵심 기능(회원, 상품, 주문)을 중심으로 구현하고, 불필요한 기능은 생략하여 집중도 향상.
- 계층형 아키텍처의 활용: 계층별 역할을 명확히 하여 코드의 가독성과 유지보수성 향상.
Controller,Service,Repository,Domain계층으로 나누어 설계. - 패키지 구조의 중요성: 각 계층의 책임을 명확히 하기 위해 패키지를 분리하여 모듈화와 재사용성을 높임.
- 효율적인 개발 순서: 비즈니스 로직과 데이터 접근을 우선 개발하고, 테스트 케이스로 검증한 후 웹 계층을 마지막에 적용하여 전체 구조의 완성도 보장.
- 테스트 케이스의 필수성: 기능을 사전에 검증하여 코드의 안정성을 확보하고, 유지보수 시 오류를 최소화.
위 개념들을 바탕으로 스프링 부트와 JPA를 활용한 효율적이고 유지보수성이 높은 애플리케이션 개발이 가능해집니다.
'Spring > 웹 애플리케이션 개발' 카테고리의 다른 글
| 06. 주문 도메인 개발 (0) | 2024.09.08 |
|---|---|
| 05. 상품 도메인 개발 (0) | 2024.09.08 |
| 04. 회원 도메인 개발 (0) | 2024.09.08 |
| 02. 도메인 분석 설계 (2) | 2024.09.08 |
| 01. 프로젝트 환경설정 (0) | 2024.09.08 |