본문 바로가기

분류 전체보기53

4.회원 서비스 개발 'MemberService'를 테스트 해보는 시간으로 'MemberServiceTest'를 만들어 봅시다. 'Go to Test'로 단축키로 'create Test'를 할 수 있습니다. package hello.hellospring.Service; import hello.hellospring.domain.Member; import org.junit.jupiter.api.Test; //import org.assertj.core.api.Assertions.assertThat; class MemberServiceTest { @Test void join() { } @Test void findMembers() { } @Test void findOne() { } } 위의 코드처럼 '껍데기'와 같은 틀이 생성됩니다... 2021. 3. 26.
3. 서비스 개발 2편에 이어서 memberRepository와 domain을 활용해서 실제 비지니스 로직을 작성해보겠습니다. Q.비지니스 로직(1편에서 세운 비지니스 요구사항) 1. src>main>java>hello.hellospring>service(패키지)>MemberService를 생성합니다. 1. 전체코드 package hello.hellospring.Service; import hello.hellospring.domain.Member; import hello.hellospring.repositoty.MemberRepository; import hello.hellospring.repositoty.MemoryMemberRepository; import java.util.List; import java.util.O.. 2021. 3. 26.
2. 테스트케이스 작성 1. 왜 테스트케이스를 써야 하는지? 쉽게 말하면, 내가 작성한 개발코드가 정상적으로 동작하는지 검증할 수 있기 때문입니다. Q. 테스트케이스의 정의 개발한 기능을 테스트 하려고 할 때, 방법1(=테스트케이스 사용X) 자바의 main 메서드를 통해서 실행한다. (또는) 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 방법1의 단점: 이러한 방법은 준비하고 실행하는데 오래 걸린다. 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다. 그래서 테스트케이스는 뭐예요? 자바의 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결합니다. 2. 코드! >테스트케이스를 만들어보자! 1편에서 만든 'MemoryMemberRepository'(=회원리포지토리)를 코드로 검증할 수 있는 방법.. 2021. 3. 26.
1.회원관리예제_회원도메인, 리포지토리 만들기 1. 비지니스 요구사항 회원관리예제를 진행하기 앞서, 우리는 '비지니스 요구사항'을 정리해야 한다. 이때, 가정조건은 "개발의 DB(데이터베이스) 선정이 없는 시나리오" 입니다. Q1. 왜 DB가 없어요? 스프링 생태계를 이해하는게 우선이며, 스프링 동작원리를 이해하는게 목적이기 때문에 프로젝트는 단순한 비지니스 예제로 익히기 위해서 입니다. Q2. 일반적인 웹 애플리케이션 계층구조 일반적인 웹 애플리케이션에는 컨트롤러, 서비스, 리포지토리, 도메인, DB로 이루어져 있습니다. 다음과 같이 만들 겁니다. 서비스 : 회원조회(중복가입 방지) 도메인 : 회원, 주문, 할인쿠폰(주로 DB에 저장하고 관리되도록 한다.) 리포지토리 : DB 접근, 도메인 객체를 DB에 저장하고 관리한다. Q3. 클래스 의존관계 .. 2021. 3. 24.