1. @AuthenticationPrincipal 어노테이션이란 무엇인가? 스프링 시큐리티를 사용하여 사용자 인증을 처리하고 있는 경우, @AuthenticationPrincipal 어노테이션을 통해 현재 인증된(로그인된) 사용자의 정보를 편리하게 가져와 사용할 수 있습니다. @AuthenticationPrincipal은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, 사용자 인증 정보를 주입받기 위해 사용합니다. 주로 웹 애플리케이션에서 인증된(로그인한) 사용자의 정보를 Controller이나 Service 클래스에서 접근하고 활용하는 데 사용됩니다. @AuthenticationPrincipal을 통해 매번 인증된 사용자의 정보를 DB에 접근해서 데이터를 가져오는 것을 막을 수 있습니다. 한 번 ..
[인프런] 김영한님의 실전 스프링부트와 JPA 활용 2편을 수강하면서 공부한 내용을 바탕으로 작성하였습니다. API 개발 중 요청 값과 응답 값을 DTO로 주고받는 방법과 지연 로딩 최적화에 대해 작성한 글입니다. [스프링부트 API 개발] API 개발 1 - DTO로 데이터 전달하기, 지연 로딩, 컬렉션 최적화 [인프런] 김영한님의 실전 스프링부트와 JPA 활용 2편을 수강하면서 공부한 내용을 바탕으로 작성하였습니다. 스프링부트를 통해 API를 개발할 때 요청(Request)하는 값과 반환(Response) 받는 값을 엔 kylo8.tistory.com [Spring Framework/JPA] - [스프링부트 API 개발] API 개발 1 - DTO로 데이터 전달하기, 지연 로딩, 컬렉션 최적화 컬렉션..
Optional 클래스란 Optional 클래스는 null을 처리하는 방법을 개선하기 위해 도입된 클래스로, 값이 있을 수도 있고 없을 수도 있는 상황을 처리하는 데 사용됩니다. Optional 객체는 값을 감싸는 래퍼(wrapper) 역할을 하며, 값이 존재하지 않는 경우에 대한 처리를 표현적으로 표현하는데 유용합니다. orElseThrow() orElseThrow() 메서드는 자바 8부터 도입된 Optional 클래스의 메서드 중 하나입니다. 스프링 애플리케이션에서 자주 사용되는 메서드 중 하나입니다. orElseThrow() 메서드는 Optional 객체에서 값을 꺼내오는 메서드로, 값이 존재하는 경우에는 해당 값을 반환하고, 값이 없는 경우에는 지정된 예외를 발생시킵니다. 이를 통해 Optiona..
Spring Security란 무엇인가?: 스프링 프레임워크 기반의 보안(인증과 권한 부여)을 다루기 위한 보안 프레임워크입니다.스프링 시큐리티는 웹 애플리케이션, Restful 서비스, 메서드 수준의 보안까지 다양한 보안 요구사항을 지원하며, 많은 기능과 확장성을 제공하여 안전하고 효과적인 애플리케이션 보안을 구현하는 데 사용합니다. Spring Security의 주요 기능과 개념 1. 인증(Authentication): 사용자의 신원을 확인하는 과정으로, 스프링 시큐리티는 다양한 인증 방식을 지원합니다. 기본적으로 form 기반의 로그인, HTTP 기본 인증, Remember Me 인증, OAuth, LDAP 등 다양한 인증 프로토콜을 지원합니다. 2. 권한 부여(Authorization): 인증된 ..