본문 바로가기

:: System Log

스프링 입문 강의 노트 #11. 백엔드 개발 - 회원 서비스 개발

> 이전글 읽기 : 

2022.02.23 - [:: System Log] - 스프링 입문 강의 노트 #10. 백엔드 개발 - 리포지토리 구현체 테스트

 

스프링 입문 강의 노트 #10. 백엔드 개발 - 리포지토리 구현체 테스트

> 이전글 읽기 : 2022.02.23 - [:: System Log] - 스프링 입문 강의 노트 #9. 백엔드 개발 - 회원 도메인과 리포지토리 만들기 이전글 읽기 2022.02.22 - [:: System Log] - 스프링 입문 강의 노트 #8. 백엔드 개..

everythingiok.tistory.com

 

[회원 서비스 개발]

 

1. Service Package 생성 및 하위 MemberService 클래스 생성

 hello.hellospring.service.MemberService.java

 

2. 회원가입 및 중복회원 검증 서비스

    /**
     * 회원가입
     */

    public Long join(Member member) {
        validateDuplicateMember(member); // 중복회원검증

        memberRepository.save(member);
        return member.getId();
    }
    
    private void validateDuplicateMember(Member member) {
        //같은 이름이 있는 중복 회원 가입 불가 처리
        memberRepository.findByName(member.getName())
                .ifPresent(m -> {
                    throw new IllegalStateException("이미 존재하는 이름입니다.");
                });
    }

- ifPresent // 값이 존재하면 수행하라는 의미 

- validateDuplicateMember() 를 별도 메소드로 빼서 진행 => 리팩토링 관련 메뉴 : [Ctrl] + [t] 에서 [Extract Method] 선택

 

3. 전체회원 및 특정 회원 조회 서비스

    /**
    * 전체회원조회
     **/
    public List<Member> findMembers() {
        return memberRepository.findAll();
    }

    public Optional<Member> findOne(Long memberId) {
        return memberRepository.findById(memberId);
    }

 

> 다음글 읽기