Spring/[인프런] 실전! 스프링 부트와 JPA 활용1

    웹 계층 개발

    웹 계층 개발

    웹 계층 개발 홈 화면 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 상품 등록 상품 목록 상품 수정 변경 감지와 병합 상품 주문 홈 화면과 레이아웃 홈 컨트롤러 등록 package jpabook.jpashop.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HomController { Logger log = L..

    주문 도메인 개발

    주문 도메인 개발

    주문 도메인 개발 구현 기능 상품 주문 주문 내역 조회 주문 취소 목차 주문 엔티티, 주문상품 엔티티 개발 주문 리포지토리 개발 주문 서비스 개발 주문 검색 기능 개발 주문 기능 테스트 주문, 주문상품 엔티티 개발 주문 엔티티 개발 주문 엔티티 코드 package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "orders") @Getter @Setter public class Order { @I..

    상품 도메인 개발

    상품 도메인 개발

    상품 도메인 개발 구현 기능 상품 등록 상품 목록 조회 상품 수정 목차 상품 엔티티 개발(비즈니스 로직 추가) 상품 리포지토리 개발 상품 서비스 개발 상품 기능 테스트 -> 여기선 생략할거임 (바로앞 테스트와 비슷) 상품 엔티티 개발(비즈니스 로직 추가) 상품 엔티티 코드 package jpabook.jpashop.domain.item; import jpabook.jpashop.domain.Category; import jpabook.jpashop.exception.NotEnoughStockException; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import jav..

    회원 도메인 개발

    회원 도메인 개발

    회원 도메인 개발 구현 기능 회원 등록 회원 목록 조회 목차 회원 엔티티 코드 다시 보기 ( 앞에서 개발 했음 Member ) 회원 리포지토리 개발 회원 서비스 개발 회원 기능 테스트 회원 리포지토리 개발 회원 리포지토리 코드 package jpabook.jpashop.repository; import jpabook.jpashop.domain.Member; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import java.util.List; @Repository public class MemberReposito..

    애플리케이션 구현 준비

    애플리케이션 구현 준비

    애플리케이션 구현 준비 목차 구현 요구사항 애플리케이션 아키텍처 구현 요구사항 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현X -> 나중에 따로 해보자! 로그인과 권한 관리X 파라미터 검증과 예외 처리X (최소화) 상품은 도서만 사용 카테고리는 사용X 배송 정보는 사용X 애플리케이션 아키텍처 계층형 구조 사용 controller, web: 웹 계층 service: 비즈니스 로직, 트랜잭션 처리 repository: JPA를 직접 사용하는 계층, 엔티티 매니저 사용 domain: 엔티티가 모여 있는 계층, 모든 계층에서 사용 패키지 구조 jpabook.jpashop domain excep..

    도메인 분석 설계

    도메인 분석 설계

    도메인 분석 설계 목차 요구사항 분석 도메인 모델과 테이블 설계 엔티티 클래스 개발 엔티티 설계시 주의점 요구사항 분석 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원, 주문, 상품의 관계 : 회원은 여러 상품을 주문할 수 있다. 그리고 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계다. 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 않는다. 따라서 그림처럼 ..

    프로젝트 환경설정

    프로젝트 환경설정

    프로젝트 환경설정 목차 프로젝트 생성 라이브러리 살펴보기 View 환경 설정 H2 데이터베이스 설치 JPA와 DB 설정, 동작확인 프로젝트 생성 스프링 부트 스타터(https://start.spring.io/) 사용 기능 : web, thymeleaf, jap ,h2, lombok, validation groupId : jpabook artifactId : jpashop build.gradle Gradle 전체 설정 plugins { id 'org.springframework.boot' version '2.5.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpabook' version = '0.0...