Development/Spring

스프링 입문 - 회원 서비스 개발

양선규 2023. 11. 7. 19:52
728x90
반응형

도메인, 리포지토리를 만들었으니 서비스를 만들 차례이다.

 

 

service

 

hello.hellospring.service 패키지를 만들고,

 

 

MemberService

 

service 패키지 아래에 MemberService 클래스를 만들자.

 

 

리포지토리 객체 생성

 

서비스는 리포지토리와 함께 동작해야 하니, 미리 만들어두었던 리포지토리 객체를 만들어 주자.

 

 

회원가입

 

회원가입 메소드인 join이다.

member 객체를 매개변수로 받아서 리포지토리에 저장하고, 저장한 객체의 Id를 리턴한다.

 

단, 중복된 name을 가진 회원은 가입할 수 없도록 검증하는 과정이 있다.

바로 밑에 선언해둔 validateDuplicateMember가 중복을 검사하는 메소드이다.

name을 기준으로 리포지토리에서 회원을 찾아서, 해당 회원이 이미 존재한다면 "이미 존재하는 회원입니다" 예외를 출력하고 메소드는 종료된다. ( 중복 회원은 가입되지 않는다는 뜻이다. )

 

중복 회원 배제같은 기능은 메소드로 따로 생성해 두는게 좋기에 구분하여 만들었다.

 

 

회원 조회 기능

 

findMembers() 메소드는 모든 회원을 조회하는 기능,

findOne() 메소드는 회원ID를 입력받아 일치하는 회원이 있는지 조회하는 기능이다.

 

이 두 메소드는 MemoryMemberRepository의 findAll(), findById() 메소드로 간단하게 구현할 수 있었다.

 

 

 

 

 

아래는 완성된 코드이다.

 

1
2

 

 

회원 서비스 기능은 회원가입, 회원목록 조회, ID로 회원 찾기 3가지 기능이 들어갔다.

이렇게 간단한 회원 서비스를 만들어볼 수 있었다.

728x90
반응형