[스프링 부트 쇼핑몰 프로젝트 with JPA] 7. 상품 수정
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 조회 상품을 수정하려면 해당 상품을 불러와야 함 따라서, ItemService 에 상품 조회 메소드 추가 (조회 기능이므로 읽기 전용으로 불러옴) item 엔티티와 img 정보 엔티티를 itemFormDto 객체로 변환 후 반환하는 조회 기능 // 아이템 수정 public ItemFormDto getItemDetail(Long itemId) { List itemImgList = itemImgRepository.findByItemIdOrderByIdAsc(itemId); List itemImgDtoList = new ArrayList(); for (ItemImg itemImg : itemImgList) { ItemI..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 6-2. [상품 등록] Controller, Service, Repository
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. application.properties 설정 추가 파일 크기 및 경로 지정 (경로는 프로젝트 외부 디렉토리에 저장함) ########################## # 파일 업/다운로드 설정 ########################## # 파일 한 개당 최대 사이즈 spring.servlet.multipart.max-file-size=20MB # 요청 당 최대 파일 크기 spring.servlet.multipart.max-request-size=100MB # 상품 이미지 업로드 경로 itemImgLocation=D:/shop/item # 리소스 업로드 경로 uploadPath=file:///D:/shop/ 2. ..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 6-1. [상품 등록] Entity, DTO, View
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 이미지 Entity Item (상품) Entity 와 다대일 단방향 관계를 갖는 ItemImg Entity 생성 package kr.spring.item.entity; import jakarta.persistence.*; import kr.spring.utils.entity.BaseEntity; import lombok.*; @Entity @Getter @Setter // 필수 아님 @ToString // 문자열 자동 생성 @NoArgsConstructor // 빈생성자 생성 public class ItemImg extends BaseEntity { @Id //기본키 설정 @GeneratedValue(strateg..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 5. Entity 공통 속성 공통화(Auditing)
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. Auditing 엔티티에 공통으로 들어가는 멤버변수들(등록시간, 수정시간, 등록자, 수정자 등등)을 추상클래스로 만들고, 해당 추상 클래스를 상속받아 엔티티에 공통적인 기능을 수행하도록 하며 엔티티의 생성과 수정을 감시하는 기법 2. Auditing 필요성 여러 엔티티에 공통된 멤버변수가 존재할 때 하나의 추상클래스로 통합하여 구현할 수 있음 등록시간, 수정시간, 등록자, 수정자 등등의 엔티티 상태 변경에 대한 정보를 기록할 수 있음 기록을 바탕으로 버그 문의, 업데이트 변경 대상 조회 등등 여러 상황에서 사용됨 3. AuditorAware AuditorAwareImpl.java 로그인한 사용자를 등록자 및 수정자로 지..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 4. 페이지 권한 설정
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 등록 페이지 (미완성) ADMIN (관리자) 계정만 접근할 수 있는 상품 등록 페이지 상품등록 페이지입니다. 상품등록 페이지입니다. 2. 상품 등록 페이지 접근 Controller 상품 등록 페이지에 접근하는 Controller @Controller @RequiredArgsConstructor // @Autowired로도 쓸 수 있음 public class ItemController { // 웹 페이지로 이동 @GetMapping("/admin/item/new") public String itemForm() { return "item/itemForm"; } 3. AuthenticationEntryPoint Auth..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 3. 로그인/로그아웃
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. UserDetailService 데이터베이스에서 회원정보를 가져오는 인터페이스 loadUserByUsername() 메소드를 통해 회원 정보를 조회 → 사용자의 정보와 권한을 갖는 UserDetails 인터페이스를 반환 2. UserDetails 회원 정보를 담는 인터페이스 직접 구현하거나 스프링 시큐리티에서 제공하는 User 클래스 사용(구현체) 3. MemberService 로그인/로그아웃 구현 MemberService.java UserDetailsService 인터페이스를 구현하고 loadUserByUsername() 메소드 오버라이딩 Builder 패턴을 이용하여 UserDetail 인터페이스를 구현한 User ..