비즈니스 요구사항 정리
- 데이터 : 회원ID, 이름
- 기능 : 회원 등록, 조회
- 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오)
일반적인 웹 애플리케이션 계층 구조
- 컨트롤러 : 웹 MVC의 컨트롤러 역할
- 서비스 : 핵심 비즈니스 로직 구현
- 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- 도메인 : 비즈니스 도메인 객체 (ex. 회원, 주문, 쿠폰 등등. 주로 데이터베이스에 저장하고 관리됨.)
회원 도메인과 리포지토리 만들기
(자세히 모든 걸 다 적으면 무료강의가 아니기 때문에 문제가 될 수도 있을 것 같아, 이번 강의로 알게되거나 느낀 점을 적어보려한다.)
- (1) 도메인 생성하며 알게된 것
-
command + N 단축키로 Getter, Setter 생성할 수 있다. (그동안은 우클릭 애용… 이젠 단축키를 애용하도록 하자)
- (2) 리포지토리 생성하며 알게된 것
-
비즈니스 요구사항 중 아직 데이터 저장소가 선정되지 않았다는 시나리오가 있기 때문에,
추후 어떤 데이터 저장소로 선정되든 사용할 수 있도록 인터페이스를 만들었고
이 인터페이스를 구현할 때 구현할 메소드들을 option + enter 단축키로 자동생성할 수 있다.
회원 리포지토리 테스트 케이스 작성
command + shift + enter : 줄바꿈 2번
전체 테스트가 실행될 때, 테스트 실행 순서는 작성한 순서가 아니기 때문에 테스트 코드는 순서에 의존적으로 작성해서는 안된다.
@AfterEach라는 태그를 붙여서 각 테스트마다 사용한 데이터는 한번씩 비워주는 작업을 추가해야 한다.
회원 서비스 개발
command + option + v : 자동으로 리턴해주는 단축키
ctrl + t : 리팩토링과 관련된 여러가지 기능 사용 가능 (메소드로 따로 빼는 기능 자주 사용함)
회원 서비스 테스트
command + shift + t : 테스트 자동 생성 단축키 ctrl + r : 이전에 실행했던 것을 다시 실행시켜주는 단축키
** 이 포스팅은 김영한님의 스프링 입문 강의를 들으며 정리한 내용으로 이루어져 있습니다. **