Spring Framework(182)
-
@ModelAttribute
@ModelAttribute 어노테이션은 HTTP 요청의 파라미터를 객체에 바인딩하는 데 사용되는 스프링 MVC의 기능입니다. 이를 통해 클라이언트가 전송한 폼 데이터나 쿼리 스트링 파라미터를 자동으로 객체에 매핑할 수 있습니다. 또한, 이 객체는 뷰에서 사용될 모델에 추가될 수 있습니다. 스프링은 여러 방식으로 @ModelAttribute에 해당하는 객체를 생성하고 바인딩할 수 있으며, 유효성 검사 및 데이터 바인딩 과정에서의 오류 처리도 가능합니다. 기본 개념@ModelAttribute는 주로 컨트롤러 메서드의 아규먼트로 사용되어, 요청 파라미터를 자동으로 특정 객체에 바인딩합니다. 예시 상황:클라이언트가 아래와 같은 HTTP 요청을 통해 데이터를 전송했다고 가정합니다.POST /owners/1/pe..
2024.10.09 -
Annotated Controllers[3] - @CookieValue
@CookieValue 어노테이션은 HTTP 요청에 포함된 쿠키 값을 메서드의 아규먼트로 바인딩하는 데 사용됩니다. 이를 통해 컨트롤러에서 HTTP 요청에 포함된 특정 쿠키 값을 손쉽게 처리할 수 있습니다.기본 개념HTTP 요청을 통해 서버로 전송되는 쿠키는 클라이언트 측에서 저장하고 있는 정보입니다. 서버는 이 쿠키 값을 활용해 세션을 추적하거나 사용자 정보를 관리할 수 있습니다. @CookieValue 어노테이션을 사용하면 특정 쿠키의 값을 직접 아규먼트로 받을 수 있습니다.예시 상황:클라이언트에서 서버로 다음과 같은 HTTP 요청이 있다고 가정합니다.Cookie: JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84위 요청에서 JSESSIONID 쿠키의 값을 컨트롤러 메서드..
2024.10.09 -
@RequestHeader
@RequestHeader 어노테이션은 HTTP 요청의 헤더 값을 메서드 아규먼트에 바인딩하는 데 사용됩니다. 이 어노테이션을 사용하면 특정 헤더 값을 쉽게 메서드에서 받을 수 있으며, 스프링이 자동으로 해당 값을 제공해 줍니다. 예시 설명HTTP 요청에 포함된 헤더 중 특정 헤더 값을 가져오는 방법을 생각해봅시다. 아래와 같은 HTTP 요청 헤더가 있다고 가정합니다.Host: localhost:8080Accept: text/html,application/xhtml+xml,application/xml;q=0.9Accept-Language: fr,en-gb;q=0.7,en;q=0.3Accept-Encoding: gzip,deflateAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;..
2024.10.09 -
Annotated Controllers[1]
Spring MVC는 @Controller와 @RestController 컴포넌트가 Http request 매핑, request 입력, 예외 처리 등을 애노테이션을 통해 표현할 수 있는 애노테이션 기반 프로그래밍 모델을 제공합니다. 애노테이션 컨트롤러는 유연한 메서드 시그니처를 가지며, 기본 클래스를 확장하거나 특정 인터페이스를 구현할 필요가 없습니다. 다음은 애노테이션으로 정의된 컨트롤러의 예입니다:@Controllerpublic class HelloController { @GetMapping("/hello") public String handle(Model model) { model.addAttribute("message", "Hello World!"); retur..
2024.10.06 -
Dependency Injection
의존성 주입(DI) 은 객체가 자신이 필요로 하는 의존성(즉, 함께 동작할 다른 객체들)을 다음과 같은 방식으로만 정의하는 과정입니다:생성자 아규먼트(Constructor arguments)팩토리 메서드의 아규먼트(Factory method arguments)객체가 생성된 후 설정되는 프로퍼티(Properties)이후 Spring IoC 컨테이너는 해당 빈(Bean)을 생성할 때 이 의존성들을 주입(inject)합니다.이러한 과정은 본질적으로 역제어(Inversion of Control, IoC) 의 개념을 따릅니다.이름 그대로, 의존성의 생성이나 위치를 스스로 제어하는 것이 아니라, 컨테이너가 대신 제어하게 되는 구조입니다.예전에는 객체가 필요한 의존성을 직접 생성하거나, Service Locator ..
2024.06.11 -
Bean Overview
📌 Bean Overview🔹 Spring IoC 컨테이너와 BeanSpring IoC 컨테이너는 한개 이상의 Bean을 관리하며,Bean은 구성 메타데이터(Configuration Metadata) 를 기반으로 생성됩니다.💡 Spring에서 Bean은 IoC 컨테이너가 생성, 조립 및 관리하는 객체를 의미합니다.➡️ Bean 정의는 내부적으로 BeanDefinition 객체로 변환되며, 다음과 같은 메타데이터를 포함합니다. 📍 BeanDefinition이 포함하는 주요 정보✔ 클래스 이름 → Bean의 실제 구현 클래스✔ 동작 설정 → Scope, 라이프사이클 콜백 등✔ 의존성 → 다른 Bean에 대한 참조 (Dependency)✔ 기타 설정 → 커넥션 풀 크기, 캐시 설정 등💡 Bean 정의..
2024.06.11