본문 바로가기
Java/스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술

[회원 관리 예제, 백엔드 개발 - (4)] 회원 서비스 개발

by Rezal 2022. 6. 30.

git repository : https://github.com/Rezalog/spring-boot-entry-inf

 

GitHub - Rezalog/spring-boot-entry-inf

Contribute to Rezalog/spring-boot-entry-inf development by creating an account on GitHub.

github.com

 

회원 서비스 : 회원 리포지토리와 도메인을 활용해서, 실제 비즈니스 로직을 구현한다.

실제로 구현해볼 서비스는 회원가입, 전체 회원 조회이다.

 

 

MemberService class

 

join(회원가입)

java > service(package) > MemberService : 회원가입 join method
중복 회원을 검증하는 validateDuplicateMember method

 

- 기본 로직

  •  도메인인 Member 타입으로 받은 회원정보로 중복 회원을 검증하고, repo에 저장한 뒤 Long type 의 id를 반환한다.

 

- 참고

  • Optional<T>.get() : T type key의 value를 반환, 권장되지 않음.
  • Optional<T>.orElseGet(Supplier<? extends T> supplier) : 값이 있으면 꺼내고, 없으면 특정 메소드를 실행할 때 사용
  • Optional<T>.ifPresent(m -> {}) : Optional<T>의 값이 null이 아니고 존재하면(m), {} 로직 실행(lamda)

 

- 사용된 단축키 

  • cmd + T : factory 관련 메소드들 사용가능, (ex) extract method)
  • option + cmd + V : 입력한 로직의 반환값에 맞는 변수 생성
  • option + Enter : import, static import 추가

 

 

findMembers(전체 회원 조회)

 

전체 회원 조회 findMembers, id(식별자)로 회원정보를 조회하는 findOne method