SERIES

스프링 부트와 JPA 활용 1

7 Posts·Last updated on March 19, 2025

🚀
Spring JPA 시작하기

March 14, 2025

프로젝트 생성 Intellij 기준 Type : Gradle - Groovy JDK : 17 Packaging: Jar Dependencies Spring Boot : 3.4.3 Spring Web Spring Data JPA H2 Database Thymeleaf Lombok Lombok 플러그인 설치 후 환경설정 내 Annotation Processo…


🚀
도메인 분석 설계

March 15, 2025

요구사항 분석 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원, 주문,…


🚀
회원 도메인 개발

March 18, 2025

MemberRepository 기술 @Repository: 스피링 빈으로 등록, JPA 예외를 스프링 기반 예외로 예외 변환 @PersistenceContext: 엔티티 매니저(EntityManager) 주입 @PersistenceUnit: 엔티티 매니저 팩토리(EntityManagerFactory) 주입 기능 save() : 엔티티 저장 findOne(…


🚀
구현 준비

March 18, 2025

JPA에 중점을 두기 위해 아래와 같은 기능들은 구현하지 않습니다. 로그인과 권한 관리 파라미터 검증과 예외 처리 상품은 도서만 사용 카테고리 사용 X 배송 정보 사용 X 아키텍처 Layered 아키텍처 적용 Controller, web: 웹 계층 service: 비즈니스 로직, 트랜잭션 처리 repository: 엔티티 매니저를 사용하여 JPA를 직접…


🚀
상품 도메인 개발

March 18, 2025

상품 엔티티 개발(비즈니스 로직 추가) Item NotEnoughStockException 비즈니스 로직 addStock(): 파라미터로 넘어온 수만큼 재고 증가 removeStock(): 파라미터로 넘어온 수만큼 재고 감소 ItemRepository 기능 save() id가 없으면 신규로 보고 실행 id가 있으면 이미 DB에 저장된 엔티티를 수정한다고…


🚀
웹 계층 개발

March 18, 2025

홈 화면 및 레이아웃 HomeController home fragments/header fragments/bodyHeader fragments/footer view 리소스 등록 resources/static 하위에 아래 코드 추가 (bootstrap) static.zip 회원 등록 MemberForm MemberController /members/cr…


🚀
주문 도메인 개발

March 19, 2025

Order 기능 생성 메서드(): 주문 엔티티를 생성할 때 사용하며 주문 회원, 배송정보, 주문 상품의 정보를 받아서 실제 주문 엔티티를 생성 주문 취소(): 주문 취소시 사용하며 주문 상태를 취소로 변경하고 주문 상품에 취소를 알림. 만약 이미 배송을 완료했으면 주문을 취소하지 못하게 예외 발생 전체 주문 가격 조회: 주문 시 사용한 전체 주문 가격을 …