이숭간 공부기록
스프링부트 입문_ 회원관리 (백엔드 개발) 본문
728x90
1. 비즈니스 요구사항 정리
- 데이터: 회원ID, 이름
- 기능 : 회원등록, 조회
- 아직 데이터 저장소 X (DB선정아직 안한)
일반적인 웹 애플리케이션 계층 구조
- 컨트롤러 : MVC에서의 컨트롤러
- 서비스 : 핵심비즈니스 로직 ( 회원은 중복가입이 안된다거나 등등) - 비즈니스 도매인 객체를 가지고 핵심비즈니스 로직이 동작되도록 구현한 객체
- 도메인 : 회원, 주문, 쿠폰처럼 디비에 주로 저장되고 관리되는 비즈니스 도메인 객체
- 리포지토리 : 디비에 접근. 도매인객체를 디비에 저장하고 관리
클래스 의존관계
- 회원리포지토리는 인터페이스로 설계함 (이유: 디비가 아직 선정되지 않았으므로 디비가 선정되면 구현클래스를 바꿔낄수있도록, 바꿔낄려면 인터페이스가 필요하니까)
- 초기개발단계에서는 구현체로 가벼운 메모리기반의 데이터저장소 사용
개발완료~~~
제대로 동작하는지 어떻게 검증하지? --> 테스트케이스를 작성
개발기능의 검증을 위해 테스트할때 자바 메인메소드를 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 실행하는것은 준비하고 실행하는데 오래걸리고, 반복실행이 어렵고 여러테스트를 한번에 실행하기 어렵다는 단점이 있다.
이러한 문제를 JUnit이라는 프레임워크로 테스트실행해서 이런 문제를 해결한다.
클래스에서 cmd+shift+t --> 해당클래스 테스트 껍데기(틀) 자동생성
'공부공부 > Spring Boot' 카테고리의 다른 글
[Spring] DAO(=Repository), DTO(VO) 란? (0) | 2021.05.22 |
---|---|
[Spring] 오브젝트와 의존관계 (1) | 2021.05.16 |
[Spring] 스프링 빈(Bean)이란? (0) | 2021.05.16 |
[Spring] Sprign Data JPA (JpaRepository) (0) | 2021.05.12 |
JPA란? (0) | 2021.03.19 |