본문으로 바로가기
반응형

 

 

 

기존 클래스들의 작성은

 

아래 링크에 순차적으로 작성되어있다.

 

 


● 회원관리 예제 - 백엔드 개발

 

   1. 회원 도메인과 리포지토리 만들기

   2. 회원 리포지토리 테스트 케이스 작성

   3. 회원 서비스 개발

   4. 회원 서비스 테스트

 

 

 

 

 

 

 

 


 

● 회원 서비스 개발 

 

 

 

 

 

 

 

MemberService.java

 

package hello.hellospring.service;

import hello.hellospring.domain.Member;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Optional;

@Transactional // jpa는 모든 데이터 변경이 transaction 안에서 실행되어야함
public class MemberService {

 	private final MemberRepository memberRepository = new MemoryMemberRepository();

    /*
            회원 가입
         */
    public Long join(Member member){

        validateDuplicateMember(member); // 중복 회원 검증
        memberRepository.save(member);
        return member.getId();
    }

	// 중복 회원 검증
    private void validateDuplicateMember(Member member) {
        memberRepository.findByName(member.getName())  // 검색하고자 하는 회원의 이름이
                .ifPresent((m -> {    // repository에 존재한다면
                    throw new IllegalStateException("이미 존재하는 회원입니다."); # 예외처리
                }));
    }

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

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

 

 

 

 

 

 


 

 

 

간단한 회원 서비스를 개발했다.

 

 

 

실제로 잘 동작하는지는

 

다음 포스팅에서 다룰 '테스트 케이스 작성'을 통해 테스트를 해보자.



https://healthdevelop.tistory.com/entry/spring15

 

[Spring boot] 스프링(Spring) 테스트 케이스 작성(중복 회원 검사, 회원 가입)

개발한 기능을 실행해서 테스트할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, (

healthdevelop.tistory.com

 

반응형