코드로 배우는 스프링 부트 - 인프런24 회원 서비스 테스트 작성된 회원 서비스를 테스트하는 코드 인텔리제이에서 실행코드로 테스트 코드 만드는 단축키: 해당 클래스 드래그 + ctrl + shift + t 인텔리제이 이전 실행 다시 하는 단축키: shift + f10 MemberSevice에서 MemberRepository를 외부에서 받도록 코드 수정 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.List; import java.util.Optio.. 2022. 8. 8. 회원 서비스 개발 Service 패키지 생성 및 MemberService 클래스 작성 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.List; import java.util.Optional; public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); /* * 회원 가입 *.. 2022. 8. 7. 회원 리포지토리 테스트 케이스 작성 본인이 작성한 기능을 junit 프레임워크를 활용해 테스트를 진행한다. 초기화하는 기능 추가 -> clearStore MemberRepository package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.util.Optional; public interface MemberRepository { Member save(Member member); // Optional: null 값이 반환될 경우 처리해줌 8버전 부터 지원 Optional findById(Long id); Optional findByName(String name); List findAll(); vo.. 2022. 8. 6. 회원 도메인과 리포지토리 만들기 패키지 구성 Member 클래스 package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } MemberRepository 인터페이스 package hello.hellospring.repository; import hello.hellospring.domain.Member; import .. 2022. 8. 5. 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 정해지지 않았다는 설정 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹 mvc의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 2022. 8. 5. API 컨트롤러 작성 @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name) { return "hello " + name; // "hello spring" } 인텔리제이 자동완성 단축키: ctrl + alt + enter 실행 @ResponseBody: 리턴 데이터를 그대로를 보여주기 위해 필요한 어노테이션 json으로 데이터 보여주는 방법 (key, value로 구성되어있다.) 컨트롤러 작성 @GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name) { Hello hell.. 2022. 8. 4. 이전 1 2 3 4 다음