Spring Boot

[Spring Boot] 회원 관리

seung_hyeon 2024. 12. 20. 22:00

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

 

  • 비즈니스 요구 사항

데이터 : 회원 ID, 이름

기능 : 회원 등록, 조회

데이터 저장소 : 아직 선정되지 않음(가상의 시나리오)

 

 

일반적인 웹 애플리케이션 계층 구조

 

 

 

클래스 의존관계

 

- 데이터 저장소 선정되지 않아 인터페이스로 구현 클래스 변경할 수 있도록 설계

- 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민 중인 상황으로 가정

- 개발을 진행하기 위해 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용

※ RDB : 모든 데이터를 2차원 테이블 형태로 표현하는 관계형 데이터 모델에 기초를 둔 데이터베이스

   NoSQL : 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태

 

 

+) 서비스는 비즈니스에 의존적으로 설계하고

리포지토리 기계적으로 개발스럽게 용어들을 사용한다 → 롤에 맞도록 네이밍을 잡는다

 

  • 테스트 케이스 작성

테스트 케이스 파일 만들 때 command + shift + T : 자동으로 만들어준다

given, when, then 문법으로 작성하면 파악하기 쉽다.

@Test
    void 회원가입() {
        //given : 무엇인가 주어지고
        Member member = new Member();
        member.setName("hello");
        
        //when : 실행했을 때
        Long saveId = memberService.join(member);
        
        //then : 결과
        Member findMember = memberService.findOne(saveId).get();
        assertThat(member.getName()).isEqualTo(findMember.getName());
    }

 

회원 관리 코드 작성 중 발생한 에러 및 해결

 

[Spring Boot] 회원정보 테스트 에러

회원정보 리포지토리와 테스트 케이스 작성 후 실행 한 결과 밑의 에러가 발생 에러 이유 : findAll이 먼저 실행되면서 spring1,2가 이미 저장되었다. 그 다음 findByName을 실행될 때 이미 다른 객체에

shyeeon.tistory.com

 

'Spring Boot' 카테고리의 다른 글

[Spring boot] 회원 관리 예제 - 웹 MVC 개발  (0) 2024.12.22
[Spring Boot] 회원정보 테스트 에러  (1) 2024.12.21
API  (0) 2024.12.20
[Spring Boot] 스프링 웹 개발 기초  (1) 2024.12.20
Spring Boot  (1) 2024.12.20