[스프링 부트 쇼핑몰 프로젝트 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 ..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 2-3. 회원가입 검증
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. Validation 참고 1. 회원가입 검증 // gradle 추가 implementation 'org.springframework.boot:spring-boot-starter-validation:3.0.1' 회원가입 기능 구현 유효한 값인지 판단하는 소스가 여러 군데 흩어지면 관리하기가 힘듦 → 자바 빈 벨리데이션을 이용하면 객체의 값을 효율적 검증 가능 2. validation 어노테이션 3. 회원가입 DTO 유효성 검증 package kr.spring.member.dto; // 회원가입 화면으로부터 넘어오는 가입정보를 담을 Dto import jakarta.validation.constraints.Email; impor..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 2-2. 회원가입 페이지
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. MemberController Get 요청으로 회원가입 페이지를 요청할 경우 MemberFormDto 객체를 같이 넘김 POST 요청으로 넘어온 회원가입 정보를 MemberFormDto 객체로 받음 package kr.spring.member.controller; import jakarta.validation.Valid; import kr.spring.member.dto.MemberFormDto; import kr.spring.member.entity.Member; import kr.spring.member.service.MemberService; import lombok.RequiredArgsConstructor; i..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 2-1. 회원가입 로직
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 회원 역할(Role) 구분 kr.spring.member.constant.java, enum클래스 생성 일반 유저 / 관리자 package kr.spring.member.constant; // 회원 역할 구분 enum 클래스 public enum Role { USER, ADMIN } 2. 회원 가입 정보 DTO 회원 가입 화면으로부터 넘어오는 가입정보를 담을 DTO 객체 // validation 추가 -> null 값 접근하기 위해 implementation 'org.springframework.boot:spring-boot-starter-validation:3.0.1' package kr.spring.member.dt..