반응형

Spring/inflearn 28

회원 웹 기능 - 홈 화면 추가

package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } ▶ localhost:8080으로 접속시 home.html이 보이는 Controller 작성 Hello Spring 회원 기능 회원 가입 회원 목록 ▶ 회원 가입을 클릭시 /members/new로 이동 ▶ 회원 목록을 클릭시 /members로 이동 ▶ localhost:..

Spring/inflearn 2022.08.30

회원 서비스 테스트

▶ private final MemberRepository memberRepository = new MemoryMemberRepository() : 기존에는 회원 서비스가 메모리 회원 repository를 직접 생성하게 했음 ▶ 회원 repository 코드가 회원 서비스 코드를 DI(Dependency Insertion) 가능하게 변경함 private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } ▶ src/test/java/hello.hellospring.service 패키지 아래 MemberSe..

Spring/inflearn 2022.08.25

회원 서비스 개발

▶ memberRepository.findByName(member.getName()).ifPresent(m -> {throw new IllegalStateException("이미 존재하는 회원입니다.");}) : memberRepository에서 이름을 찾아 존재한다면 "이미 존재하는 회원입니다." 출력 → IllegalStateException : 메소드를 호출하기 위한 상태가 아닐 때 사용 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMembe..

Spring/inflearn 2022.08.24

회원 repository 테스트 케이스 작성

▶ src/test/java/hello.hellospring.repository 패키지를 생성하고 MemoryMemberRepositoryTest 파일 생성 ▶ @AfterEach : 한번에 여러 테스트를 실행하면 메모리 DB에 직전 테스트의 결과가 남아 다음 테스트가 실패할 수 있는데, 이 문제점을 해결하고자 테스트가 종료될 때마다 기능을 수행하고 메모리 DB에 저장된 데이터를 삭제함 ▶ Assertions.assertThat(member).isEqualTo(result) : member에 저장된 값과 result에 저장된 값이 동일(참)한지 판단 package hello.hellospring.repository; import hello.hellospring.domain.Member; //import ..

Spring/inflearn 2022.08.23

회원 domain과 repository 만들기

비즈니스 요구사항 - 데이터 : 회원 ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 회원 객체 ▶ hello.hellospring.domain 패키지 아래 Member 클래스 파일을 생성해 회원 객체 선언 package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() {..

Spring/inflearn 2022.08.22

API

@ResponseBody 문자 반환 ▶ @ResponseBody : HTTP의 body에 문자 내용을 직접 반환함 → viewResolver를 사용하지 않음 ▶ localhost:8080/hello-string?name=spring!!을 요청하면 hello 뒤에 name으로 입력한 spring!!이 출력됨 ▶ viewResolver와의 차이점 → 소스 코드를 확인 해보면 문자열 자체만 출력됨 @ResponseBody 객체 반환 ▶ @ResponseBody를 사용하고 객체를 반환하면 JSON으로 변환됨 ▶ Getter / Setter 단축키 : Alt + Insert package hello.hellospring.controller; import org.springframework.stereotype.Co..

Spring/inflearn 2022.08.21
반응형