3.1.0 회원 관리 예제 - 백엔드 개발 순서
1) 비즈니스 요구사항 정리
2) 회원 도메인 / 리포지토리 생성 (회원 객체 저장소)
3) 리포지토리 동작 test case 만들기
4) 회원 서비스 개발
5) junit 테스트 프레임 워크로 회원 서비스 test
3.1.1 회원 관리 예제 - 비즈니스 요구사항
- 데이터 : 회원 ID / 이름
- 기능 : 회원 등록 / 회원 조회
- 가상 시나리오 : data 저장소가 결정되지 않은 상황 / RDB, NoSQL 등 고민중인 상황
( 어떠한 database로 할지 선정되지 않았지만, 개발을 해야 함)
3.1.2 웹 애플리케이션 계층 구조
1) 컨트롤러
- 웹 MVC 컨트롤러 역할
- API 만들 때, 컨트롤러 역할
2) 서비스
- 핵심 비즈니스 로직이 들어감 ( Ex. 중복 회원가입 불가)
- 비즈니스 도메인 객체를 가지고, 핵심 비즈니스 로직이 동작되도록 구현한 객체
3) Repository
- DB에 접근
- 도메인 객체를 DB 에 저장 / 관리
4) 도메인
- DB 에 주로 저장 / 관리 되는 비즈니스 도메인 객체
( Ex. 회원, 주문, 쿠폰 등)
DB
3.1.3 클래스 의존관계
1) Member Service
- 회원 비즈니스 로직에는 회원 서비스 존재
2) Member Repository
- interface로 구현
( 아직 데이터 저장소가 선정되지 않았다는 가상 시나리오가 있으므로)
- 구현체를 MemoryMemberRepository 메모리 구현체로 만듦
( 개발 진행을 위해 단순한 구현체를 만들고, 구체적인 기술이 정해지면 향후에 바꾼다.)
김영한 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 기반으로 작성하였습니다.
'SPRING 입문 [ 코드로 배우는 스프링 부트 ]' 카테고리의 다른 글
[스프링 입문] 섹션 3.3 회원 관리 예제 (회원 리포지토리 테스트케이스 작성) (1) | 2023.01.09 |
---|---|
[스프링 입문] 섹션 3.2 회원 관리 예제 (회원 도메인과 리포지토리 만들기) (0) | 2023.01.09 |
[스프링 입문] 섹션 2.3 스프링 웹 개발 기초 (API) (0) | 2023.01.09 |
[스프링 입문] 섹션 2.2 스프링 웹 개발 기초 (MVC와 템플릿 엔진) (0) | 2023.01.07 |
[스프링 입문] 섹션 2.1 스프링 웹 개발 기초 (정적 컨텐츠) (0) | 2023.01.07 |