Study/Spring

[스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해1 - 예제 만들기(회원 도메인 개발)

black6765 2022. 11. 26. 19:40

회원 도메인 개발

  • Member 패키지 생성 후 아래의 클래스를 추가

Grade 클래스

  • Enum으로 회원의 등급을 관리하기 위한 클래스
  • BASIC과 VIP 등급으로 구성

MemberRepository

  • 회원 저장소에 대한 인터페이스
  • save와 findById 두 개의 메소드

MemoryMemberRepository

  • MemberRepository의 구현체
  • 자바의 HashMap을 이용하여 회원 정보를 저장

Member

  • 회원에 대한 정보가 들어있는 클래스
  • id, name, grade 필드를 만들고 이에 대한 setter와 getter를 생성
  • TIP: Windows 기준 Alt + Insert를 입력하여 쉽게 생성 가능

MemberService

  • 회원 동작에 대한 인터페이스
  • join(가입)과 findMember 두 개의 메소드

MemberServiceImpl

  • MemberService 인터페이스의 구현체
  • 관례적으로 인터페이스에 대한 구현체가 하나일 때는 인터페이스 이름에 Impl을 붙여 네이밍 함
  • 여기서 MemberRepositroy를 사용하게 되는데, 해당 객체가 비어있으면 NPE가 발생하기 때문에 MemoryMemberRepository()를 호출하여 객체를 할당함
    • 다형성에 의해 MemberRepository가 아닌 MemoryMemberRepository의 메소드가 호출됨
  • TIP: Windows 기준 Ctrl + Shift + Enter로 새미 콜론까지 자동 완성 가능

 

※ 본 게시글은 인프런의 스프링 핵심 원리 - 기본편(김영한)을 수강하고 정리한 내용입니다.