1장에서 기본적인 웹 프레임워크 데이터 통신 원리를 알아보았습니다.
2장에서는 간단하지만, 실제 사용될 수 있는 예제를 가져와 서버를 함께 구현해보겠습니다.
역시 공부 자료는 인프런 김영한 강사님의 스프링 입문편을 들었으며 사진 자료의 저작권은 김영한 강사님께 있음을 알립니다.
https://inf.run/Jk5T
우선 기업에서도 일반적으로 웹 어플리케이션을 개발 할 때 아래와 같은 계층 구조로 개발한다고 합니다.
- 컨트롤러는 앞에서 배웠듯이, 클라이언트의 요청을 받아 어떠한 요청인지 구분해 그에 맞는 행동을 할 수 있게 해주는 MVC 컨트롤러입니다.
- 도메인은 실제 비즈니스 도메인 객체입니다. 실제 데이터베이스에 저장되는 데이터들을 도메인으로 생성하고 관리합니다.
- 리포지토리는 도메인 객체를 데이터베이스에 저장하고 불러와 수정하는 역할을 합니다.
- 서비스는 말 그대로 좀 더 비즈니스에 적합한 메소드를 제공합니다. 리포지토리에서 데이터를 가져오면 서비스에서 핵심 로직들을 구현에 이를 다룹니다.
비즈니스 요구사항
예제에서는 다음과 같이 비즈니스 요구사항을 정리하였습니다.
- 데이터 : 회원 ID, 이름
- 기능 : 회원 등록, 조회
- 아직 데이터 저장소가 선정되지 않음 ( 가상의 시나리오임 ) - 이는 데이터베이스가 선택되지 않았음을 의미한다.
이러한 요구사항을 만족하기 위해 수업에서는 자바의 인터페이스를 활용해 후에 구현 클래스를 변경할 수 있도록 설계하였습니다.
다음과 같은 순서로 예제에서 요구하는 백엔드 서버를 구현하였습니다.
- 회원 도메인과 리포지토리 구성
- 회원 리포지토리 테스트 케이스 작성
- 회원 서비스 구성
- 회원 서비스 테스트 케이스 작성
다음 글에서는 차례대로 하나씩 포스팅하며, 나오는 자바 문법들과 유용한 IntelliJ IDEA 단축키들을 함께 알아보겠습니다.
'개인 공부 > Spring' 카테고리의 다른 글
[Spring] #6 스프링 빈 등록 (0) | 2022.01.19 |
---|---|
[Spring] #5 회원 서비스 구현 (0) | 2022.01.19 |
[Spring] #4 회원 리포지토리 테스트 케이스 작성 (0) | 2022.01.14 |
[Spring] #3 회원 도메인과 리포지토리 구현 (0) | 2022.01.12 |
[Spring] #1 스프링 웹 개발 기초 (0) | 2022.01.11 |