-
[스프링 입문] 3. 회원 관리 예제 - 백엔드 개발INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:47
3. 회원 관리 예제 - 백엔드 개발
[강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
1. 비즈니스 요구사항 정리
# 일반적인 웹 애플리케이션 계층 구조
- 컨트롤러 : 웹 MVC의 컨트롤러 역할
- 서비스 : 핵심 비즈니스 로직 구현
- 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- 도메인 : 비즈니스 도메인 객체
# 테스트 케이스 작성
- JUnit 이라는 프레임워크로 테스트를 실행
- 경로 : src/test/java 하위 폴더
- @Test
- given
- when
- then
- @AfterEach : 한 번에 여러 테스트를 실행하면 메모리 DB에 직전 테스트 결과 남을 수 있어서, 각 테스트가 종료될때마다 콜백되서 메로리 DB에 저장된 데이터를 clear()
- @BeforeEach : 각 테스트 실행 전에 호출되어, 테스트 서로 영향이 없도록 새로운 객체를 생성하고 의존관계를 맺어줌
- 테스트는 각각 독립적으로 실행되어야 함
- 테스트 순서에 의존관계가 있는 것은 좋은 테스트가 아님
# Optional
- NPE (NullPointerException)을 방지하기 위해서 null 여부를 검사해야하는데, Java8에서는 Optional<T> 클래스가 NPE를 방지해줌
- Null 일 가능성이 있는 경우 감싸주면 됨
- ifPresent, ofNullable,...
'INFLEARN > 스프링 입문 - 코드로 배우는 스프링 부트' 카테고리의 다른 글
[스프링입문] 6. 스프링 DB 접근 기술 (0) 2022.06.13 [스프링입문] 4. 스프링 빈과 의존관계 (0) 2022.06.13 [스프링입문] 2. 스프링 웹 개발 기초 (0) 2022.06.13 [스프링입문] 1. 프로젝트 환경설정 (0) 2022.06.13