분류 전체보기56 3) 요구사항 구현 & 계층형 구조 요구사항을 구현해보자. 계층형 구조로 구현했다. Controller : MVC의 컨트롤러가 모여 있는 곳이다. 컨트롤러는 서비스 계층을 호출하고 결과를 뷰에 전달한다. Service : 비즈니스 로직이 있고 트랜잭션을 시작한다. 서비스 계층은 데이터 접근 계층인 리포지토리를 호출한다. Repository : JPA를 직접 사용하는 곳은 리포지토리 계층이다. Domain : 엔티티가 모여 있는 계층이다. 모든 계층에서 사용한다. 스프링 데이터 JPA로 요구사항을 구현해보자. 사용자 정의 리포지토리 구현 스프링 데이터 JPA에서는 필요한 메서드만 구현할 수 있는 방법을 제공한다. Paging Query 편에 자세히 작성했다. 1. 직접 구현할 메서드를 위한 사용자 정의 인터페이스를 작성한다. 아래처럼 필요한.. 2023. 6. 13. 1) SpringBoot & Github 프로젝트 생성하기 저번에 만든 프로젝트 V1를 개선해보자. 개발환경 프로젝트 개발 환경은 다음과 같습니다. IDE : IntelliJ IDEA Community Edition Git Tools : Source Tree OS : Window Spring Boot 2.7.1 Java 11 Gradle 커리큘럼 모든 프로젝트 코드는 Github에 있습니다. 각 커리큘럼 코드는 Master 브랜치로 관리합니다. SpringBoot & Github 프로젝트 생성하기 도메인 모델과 테이블 설계 요구사항 구현&계층형 구조 Enum 활용 Paging Query 파일 업로드 오류처리와 예외처리 개선사항과 만났던 오류들 1. 프로젝트 생성하기 1-1. SpringBoot & Gradle 프로젝트 생성하기 Spring Initializr를 .. 2023. 6. 13. (8) 장바구니, 상품 판매 회원은 다음과 같은 서비스를 이용할 수 있다. 회원은 상품을 등록해 판매할 수 있다. 회원은 상품을 장바구니에 넣어 주문할 수 있다. 회원은 변심으로 장바구니를 삭제할 수 있다. 회원은 자신이 등록한 상품, 장바구니를 조회할 수 있다. 장바구니 도메인 설계 1. 장바구니 생성 클라이언트는 장바구니 서비스에 장바구니 생성을 요청한다. 장바구니에는 해당 주문상품 정보(상품, 주문 수량)이 저장된다. 2. 회원 조회 장바구니를 이용하기 위해서는 회원 정보가 필요하다. 그래서 장바구니 서비스는 회원 저장소에서 회원을 조회 한다. 3. 장바구니 반환 생성한 장바구니를 반환한다. 장바구니 서비스 @Transactional public Long mergeCart(User user, Long itemId, int co.. 2022. 8. 2. (7) 로그인 로그인 처리를 위한 보안 요구사항은 다음과 같다. 로그인 사용자만 해당 웹페이지를 사용할 수 있다. 로그인 하지 않은 사용자가 웹페이지에 접근하면 로그인 화면으로 이동된다. 쿠키,세션,인터셉터를 사용하여 인증체크를 구현한다. 로그인 처리하기 - 서블릿 HTTP 세션 서블릿은 세션을 위해 HttpSession 이라는 기능을 제공한다. 서블릿을 통해 HttpSession 을 생성하면 쿠키를 생성해준다. 쿠키 이름이 JSESSIONID 이고, 값은 추정 불가능한 랜덤 값이다. @PostMapping("/login") public String signIn(@Valid @ModelAttribute LoginFormDto form, BindingResult bindingResult, @RequestParam(def.. 2022. 8. 2. 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음