SpEL: Spring Expression Language Expression Lanuage(표현 언어)는 값 또는 식을 조작하거나, 데이터나 설정 값을 가져올 수 있게 하는데 사용되는 표현식에 가까운 언어입니다. SqEL은 Spring Framework에서 사용되는 EL의 한 종류로, 스프링 모든 영역에서 사용 가능한 언어 형식입니다. 주로 설정 파일에서 값 설정, 빈 생성 조건, 프로퍼티 접근 등을 위해 활용됩니다. 프로퍼티 접근: 빈의 프로퍼티 값을 가져오거나 설정 가능 메서드 호출: 빈의 메서드를 호출하고 결과 가져오기 수학 및 논리 연산: 산술, 비교, 논리 연산 가능 조건문 및 반복문: 조건문과 반복문을 지원 컬렉션 처리: 리스트, 맵 등의 컬렉션을 처리할 수 있음 코드 내에서 SqEL 사용 ..
WebClient란? WebClient가 도입되기 전에는 주로 RestTemplate을 사용하여 HTTP 요청을 보냈었습니다. RestTemplate은 Spring의 기본적인 HTTP 클라이언트 라이브러리로, 동기적으로 동작합니다. 즉, RestTemplate을 사용하면, 요청과 응답을 처리하기 위해 Blocking I/O 방식을 사용하여 스레드를 블로킹하고 기다립니다. 이는 스레드 자원의 낭비를 초래할 수 있고, 이로 인해 서버의 응답성이 저하될 수 있습니다. `WebClient`는 RestTemplate의 단점을 개선하기 위해 비동기적인 방식으로 동작하여, 동시에 여러 요청을 처리할 수 있습니다. 또한 리액티브 프로그래밍과 함께 사용하기에 적합합니다. 비동기 처리 (동기적인 처리도 가능) 리액티브 프..
Spring Framework에서 Controller 메서드의 매개변수와 함께 사용되는 어노테이션들을 정리해보겠습니다. 이들은 클라이언트의 요청에서 데이터를 추출하거나 전달되기 위해서 주로 사용되며 각 어노테이션은 서로 다른 용도와 사용 방식을 가지고 있습니다. `@RequestParam`: 요청 매개변수 값 취득 `@PathVariable`: 경로 변수 값 취득 `@RequestBody`: 요청 본문(body)에서 데이터를 추출, JSON 또는 XML 같은 형식의 데이터를 컨트롤러 메서드의 매개변수로 변환합니다. `@RequestHeader`: 요청 헤더 값 취득 `@CookieValue`: 쿠키 값 취득 @RequestParam 요청 매개변수를 추출하는데 사용됩니다. URL 쿼리 문자열이나 POST ..
web.xml은 웹 애플리케이션의 배포 설명자 파일로, 웹 어플리케이션의 구성과 설정을 정의하는 XML 파일입니다. root-context.xml과 servlet-context.xml은 web.xml에서 로드되는 Spring 구성 파일입니다. root-context.xml은 전역적인 빈을 servlet-context.xml은 웹 계층과 관련된 빈을 설정합니다. 이를 통해 Spring 웹 애플리케이션의 구성과 설정을 모듈화하고 관리할 수 있습니다. web.xml Java 웹 애플리케이션의 배포 설명자 파일(Deployment Descriptor)로, 웹 애플리케이션의 구성과 설정을 정의하는 XML 파일입니다. 즉 설정을 위한 설정 파일입니다. 처음 WAS가 구동될 때 각종 설정을 정의해줍니다. root-c..
@ExceptionHandler `@ExceptionHandler`는 특정 예외가 발생했을 때 해당 예외를 처리하는 메서드를 정의할 수 있습니다. `@ExceptionHandler`는 적용 범위 제한이 있는데, `@Contoller`, `@RestController`, `@ControllerAdvice`에서 사용이 가능합니다. 컨트롤러가 적용된 Bean에서 발생하는 예외를 잡고 해당 예외가 설정된 `@ExceptionHandler`가 적용된 메서드가 실행됩니다. @Controller public class demoController { //... @ExceptionHandler(Exception.class) public ResponseEntity handleException(Exception ex) { ..
https://yeo-computerclass.tistory.com/347 [spring security] Spring Security 흐름 / 인증(Authentication) & 인가(Authorization) Spring Security 흐름 Filter(필터) Spring Security의 웹 인프라는 표준 서블릿 필터를 기반으로 합니다. Spring Security 내부에 여러 개의 필터가 각자 특정 책임을 갖고 Request를 처리하는 필터 체인(Filter.. yeo-computerclass.tistory.com 위 포스팅한 글을 먼저 읽고오는 것을 추천한다. UserDetailsService 위 글에서 "UserDetailsService 인터페이스의 구현체가 사용자의 정보와 사용자가 가진 ..