ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링부트 3일차
    스프링부트 2022. 4. 6. 02:46
    반응형

    백엔드 개발의 기초에 대해 공부했다

    예제를 통해 코드를 작성해보았는데 예제속 비즈니스 요구사항은

     

    데이터 : 회원ID ,이름

    기능 : 회원 등록,조회

    데이터 저장소는 선정되지않음

     

    이렇게 세가지의 요구사항이 있었다.

    이 요구사항을 따르며 웹 애플리케이션을 만들기 위해서는 웹 애플리케이션의 계층구조에 대해 알아야 한다

     

    컨트롤러  -> 서비스 -> 리포지토리 -> DB

         ㅣ                |            /

         ㅣ                |         /

          ㅡㅡ      도메인 

     

    이런 계층구조를 이용한 웹 애플리케이션 개발 순서는

    1. 회원 도메인과 리포지토리 인터페이스 생성

    2. 회원 리포지토리 메모리 구현체 생성  (회원 리포지토리 테스트 케이스 작성)

    3. 회원 서비스 개발 (회원 서비스 테스트 케이스 작성)

    4. 컨트롤러 개발이다

     

    회원 도메인에는 GETTER SETTER를 이용해 id와 name을 만들어준다

    회원 리포지토리 인터페이스에는 save, findById, findByName, findAll 등을 이용해 구현 클래스를 변경할 수 있도록 설계한다.

    이때 Optional findById(Long id);  Optional findByName(String name); 에서

    Optional이란 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, 참조하더라도 NullPointeException이 발생하지 않도록 도와준다

    회원 리포지토리 메모리 구현체를 생성한후 테스트 케이스를 작성하는 것이 중요하다.

    개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비와 실행에 오래 걸리고 반복 실행이 어렵고 여러 테스트를 한번에 실행하기 어려운 단점이 있는데 자바는 JUnit이라는 프레임워크로 테스트를 실행해 이러한 문제를 해결해준다

     

    리포지토리 테스트 케이스를 완료했으면 회원 서비스를 개발한다.

    처음 요구사항에 따르면 회원 등록과 조회가 가능해야 한다고 요구했으니 service클래스에 join 과 find를 private으로 만들어준다.

     

    졸리니까 다음에 또 쓰겠다

    728x90
    반응형

    '스프링부트' 카테고리의 다른 글

    롬복을 이용한 리팩토링  (2) 2022.07.25
    JPA를 이용한 데이터 조회  (3) 2022.05.03
    스프링 부트 ) JPA를 이용한 데이터 저장  (0) 2022.05.03
    스프링부트 2일차  (0) 2022.03.29
    스프링부트 1일차  (1) 2022.03.28

    댓글

Designed by Tistory.