[강의노트] 스프링 입문 - 회원 관리 예제(백엔드 개발)

Posted by 유진 Blog on August 12, 2023

비즈니스 요구사항 정리

  • 데이터 : 회원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 : 이전에 실행했던 것을 다시 실행시켜주는 단축키






** 이 포스팅은 김영한님의 스프링 입문 강의를 들으며 정리한 내용으로 이루어져 있습니다. **

» 강의 들으러 가기