Spring/Spring Boot + JPA8 [Spring Boot + JPA] 웹 어플리케이션 개발 - 4. 웹 계층 개발 웹 계층 개발 웹 계층 개발 1. 홈화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록 검색, 취소 📌 홈 화면과 레이아웃 홈 컨트롤러 등록 @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; } } 📌 회원 등록 폼 객체를 사용해서 화면 계층과 서비스 계층을 명확하게 분리한다. 회원등록 폼 객체 @Getter @Setter public class MemberForm { @NotEmpty(messa.. 2023. 4. 7. [Spring Boot + JPA] 웹 어플리케이션 개발 - 3. 도메인 개발 회원 도메인 개발 구현 기능 회원 등록 회원 목록 조회 회원 리포지토리 개발 MemberRepository.java @Repository public class MemberRepository { @PersistenceContext private EntityManager em; // 스프링이 엔티티매니저를 만들어서 주입해준다. // 회원 정보 저장 public void save(Member member) { em.persist(member); } // 회원 조회 public Member findOne(Long id) { return em.find(Member.class, id); } // 회원 목록 조회 public List findAll() { return em.createQuery("select m f.. 2023. 4. 6. [Spring Boot + JPA] 웹 어플리케이션 개발 - 2. 애플리케이션 구현 준비 애플리케이션 구현 준비 구현 요구사항 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현X 로그인과 권한 관리X 파라미터 검증과 예외 처리X 상품은 도서만 사용 카테고리는 사용X 배송 정보는 사용X 애플리케이션 아키텍처 계층형 구조 사용 Controller, web : 웹 계층 Service : 비즈니스 로직, 트랜잭션 처리 Repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용 Domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용 패키지 구조 jpaBook.jpaShop domain exception repository service web 개발 순서 : 서비스,.. 2023. 4. 5. [Spring Boot + JPA] 웹 어플리케이션 개발 - 1. 도메인 분석 설계 요구사항 분석 실제 동작하는 화면을 먼저 확인한다. 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품은 카테고리로 구분할 수 있다. 상품 주문 시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원, 주문, 상품의 관계 : 회원은 여러 상품을 주문할 수 있다. 그리고 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 않는다. 따라서 그림처럼 주문상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관.. 2023. 4. 5. 이전 1 2 다음