Spring boot72 댓글 테이블 설계 (엔티티) 💡학습 목표JPA를 사용하여 데이터베이스 테이블과 자바 객체 간의 매핑을 정확하게 구현할 수 있다 다대일(Many-to-One) 관계를 설정하여 엔티티 간의 연관성을 표현할 수 있다. 데이터베이스에 저장할 필요가 없는 필드를 효과적으로 관리할 수 있다. 리플 엔티티 설계package com.tenco.blog_v2.reply;import com.tenco.blog_v2.board.Board;import com.tenco.blog_v2.user.User;import jakarta.persistence.*;import lombok.*;import org.hibernate.annotations.CreationTimestamp;import java.time.LocalDateTime;@Getter@Setter@.. 2024. 10. 22. JPARepository 란? 학습 목표 Spring Data JPA에서 제공하는 JPARepository의 개념과 그 활용을 알아 보자. JPARepository란?Spring Data JPA는 Repository 인터페이스를 통해 데이터 접근 계층을 간편하게 구현할 수 있도록 도와주는 프레임워크입니다. 개발자가 직접 DAO(Data Access Object) 클래스를 작성하지 않고도, JpaRepository를 상속받는 인터페이스에 메서드를 정의함으로써 데이터베이스와의 상호작용을 처리할 수 있습니다.주요 메서드 확인save(S entity): 엔티티를 저장하거나 업데이트합니다.findById(ID id): ID로 엔티티를 조회합니다.findAll(): 모든 엔티티를 조회합니다.deleteById(ID id): ID로 엔티티를 삭제.. 2024. 10. 22. 리팩토링 학습 목표1.User 엔티티를 단방향 매핑으로 변경할 수 있다. 2.인증과 인가(권환) 처리에 대해서 알아 보자. User 엔티티 수정 - 자신만에 정보를 참조 할 수 있다package com.tenco.blog_v2.user;import jakarta.persistence.*;import lombok.*;import org.hibernate.annotations.CreationTimestamp;import java.sql.Timestamp;@Getter@Setter@NoArgsConstructor@AllArgsConstructor@Entity@Table(name = "user_tb")@Builderpublic class User { @Id @GeneratedValue(strategy = G.. 2024. 10. 22. 인터셉터 만들어 보기 학습 목표 1. 인터셉터의 개념을 활용해서 기능을 개발 할 수 있다. 인터셉터(Interceptor)는 스프링 MVC에서 제공하는 기능으로, 클라이언트의 요청을 처리하는 과정에서 특정 작업을 수행할 수 있도록 도와줍니다. 인터셉터는 컨트롤러의 메서드(URI)에 접근하는 과정에서 요청을 가로채어 전처리(pre-processing) 및 후처리(post-processing)를 할 수 있습니다.필터(Filter)와의 차이점필터는 서블릿 레벨에서 동작하며, 모든 요청에 대해 작동합니다.인터셉터는 스프링 MVC 레벨에서 동작하며, 특정 핸들러(컨트롤러)로의 요청에만 작동합니다.인터셉터를 통해 로그인 여부 확인, 권한 검사, 로깅, 요청 시간 측정 등 다양한 작업을 효율적으로 처리할 수 있습니다.로그인 인터셉터 만들.. 2024. 10. 11. 에러 컨트롤러 및 커스텁 익셉션 만들기 학습 목표커스텀 예외의 필요성 이해: 기본 예외 처리 방식의 한계를 인식하고, 커스텀 예외를 통해 보다 세밀한 에러 관리를 이해한다. 커스텀 예외 클래스 생성: 다양한 상황에 맞는 사용자 정의 예외 클래스를 생성하는 방법을 학습한다. 글로벌 예외 (Global Exception Handler) 구현: @ControllerAdvice와 @ExceptionHandler를 활용하여 전역적으로 예외를 처리하는 방법을 익힌다 package com.tenco.blog_v2.common.errors;public class Exception400 extends RuntimeException { // throw new Exception400("야 너 잘못 던졌어"); package com.tenco.blog_.. 2024. 10. 11. 에러 페이지 만들기 학습 목표스프링 부트의 에러 처리 메커니즘 이해: 스프링 부트에서 제공하는 기본 에러 처리 방식과 커스터마이징 방법을 이해한다. Mustache 템플릿을 활용한 에러 페이지 구현: 다양한 HTTP 상태 코드에 맞는 사용자 정의 에러 페이지를 Mustache 템플릿을 사용하여 구현한다. 스프링 부트는 기본적으로 BasicErrorController를 통해 애플리케이션에서 발생하는 에러를 처리합니다. 이 컨트롤러는 /error 경로로 모든 에러를 매핑하며, 에러 발생 시 적절한 에러 페이지를 렌더링합니다. 그러나 기본 제공되는 에러 페이지는 단순한 텍스트 형태로 제공되기 때문에, 추가적인 가공 작업이 필요 합니다.에러 페이지 매핑 설정스프링 부트는 기본적으로 /error 경로를 통해 에러를 처리합니다. ap.. 2024. 10. 11. 이전 1 2 3 4 5 ··· 12 다음