Spring Boot 4

Spring Data JPA와 Hibernate란?

Spring Data JPA와 Hibernate는 모두 자바에서 데이터베이스를 다루는 기술이지만, 서로 다른 개념과 목적을 가지고 있습니다. Hibernate: Hibernate는 자바 기반의 ORM (Object-Relational Mapping) 프레임워크입니다. ORM은 객체와 관계형 데이터베이스 간의 매핑을 처리하는 기술이며, Hibernate는 이러한 기능을 제공하는 대표적인 프레임워크 중 하나입니다. Hibernate를 사용하면 자바 객체와 데이터베이스 테이블 간의 매핑을 설정하고, 객체 지향적인 방식으로 데이터를 다룰 수 있습니다. Hibernate는 데이터베이스 연동 작업을 추상화하고 개발자가 직접 SQL을 작성하지 않아도 되도록 도와줍니다. Spring Data JPA: 스프링 Data ..

인증 예외 헨들링, AuthenticationEntryPoint

AuthenticationEntryPoint는 Spring Security에서 인증(Authentication)에 실패한 사용자가 보호된 리소스에 접근하려고 할 때 어떻게 처리할지를 정의하는 인터페이스입니다. 이는 주로 인증되지 않은 사용자가 보호된 엔드포인트에 접근하려고 할 때 발생하는 상황에 해당합니다. Spring Security는 보호된 리소스에 접근하려는 모든 요청을 필터링하고, 인증되지 않은 경우에는 AuthenticationEntryPoint를 호출합니다. 이 인터페이스를 구현하는 클래스를 통해 클라이언트에게 어떤 응답을 보낼지를 결정할 수 있습니다. 인증되지 않은 사용자 처리: 사용자가 로그인되지 않은 상태에서 보호된 리소스에 접근하려고 할 때 어떤 응답을 생성할지를 정의합니다. 이 응답은..

@RestControllerAdvice

Spring Framework에서 제공하는 어노테이션 중 하나로, 전역적으로 컨트롤러(Controller)들에 대한 예외 처리와 응답 처리를 담당하는 클래스를 정의할 때 사용됩니다. 이 어노테이션을 사용하여 만든 클래스는 일종의 예외 처리와 응답 처리를 위한 클래스로 동작하며, 어플리케이션의 여러 컨트롤러에서 발생할 수 있는 예외 상황에 대한 일관된 처리를 제공하는 데 도움을 줍니다. 전역 예외 처리(Global Exception Handling): @RestControllerAdvice로 정의된 클래스 내에서 특정 예외 타입에 대한 처리 방법을 지정할 수 있습니다. 이렇게 정의한 예외 처리 로직은 어플리케이션의 모든 컨트롤러에서 발생하는 예외에 적용됩니다. 응답 형식 표준화(Standardized Re..

Spring Boot 2023.08.25

@JsonInclude

@JsonInclude(JsonInclude.Include.NON_NULL)은 Jackson 라이브러리에서 사용되는 어노테이션입니다. Jackson은 자바 객체와 JSON 데이터 간의 변환을 처리하는 라이브러리로, 주로 REST API에서 객체를 JSON으로 변환하거나 JSON을 객체로 변환할 때 사용됩니다. @JsonInclude 어노테이션은 객체를 JSON으로 변환할 때 특정 조건에 따라 어떤 필드를 포함시킬지 결정하는 역할을 합니다. JsonInclude.Include 열거형은 다양한 옵션을 제공하며, 그 중 NON_NULL 옵션은 해당 필드의 값이 null이 아닌 경우에만 JSON에 포함시키도록 지정합니다. @JsonInclude(JsonInclude.Include.NON_NULL) public ..

Spring Boot 2023.08.25