[3-4] 회원 서비스 개발

ohun·2022년 5월 30일
0

Spring 입문

목록 보기
10/16
  1. MemberService

    • 파일 생성
    • 비즈니스 메서드 작성
      package hello.hellospring.service;
      
      import hello.hellospring.domain.Member;
      import hello.hellospring.repository.MemberRepository;
      import hello.hellospring.repository.MemoryMemberRepository;
      
      import java.util.List;
      import java.util.Optional;
      
      public class MemberService {
      
          private final MemberRepository memberRepository = new MemoryMemberRepository();
      
          /**
           * 회원 가입
           */
          public Long join(Member member) {
      
              validateDuplicateMember(member);    // 중복 회원 검증, command+option+M 으로 extract method 가능
              memberRepository.save(member);
              return member.getId();
          }
      
          private void validateDuplicateMember(Member member) {
              memberRepository.findByName(member.getName())
                  .ifPresent(m -> {
                      throw new IllegalStateException("이미 존재하는 회원입니다.");
                  });
          }
      
          /**
           * 전체 회원 조회
           */
          public List<Member> findMembers() {
              return memberRepository.findAll();
          }
      
          public Optional<Member> findOne(Long memberId) {
              return memberRepository.findById(memberId);
          }
      
      }
      • [command] + [option] + [M] : extract method 단축키
    • repository 에 비해서 service 파일은 비즈니스에 가까운 느낌!
profile
공부 중입니다.

0개의 댓글