Spring Framework(182)
-
Method Injection
🌱 Spring Method Injection 정리Spring에서는 빈의 생명주기가 다를 때 발생하는 문제를 해결하기 위해 "메서드 주입(Method Injection)" 기능을 제공합니다.일반적인 의존성 주입(Dependency Injection) 방식으로 해결할 수 없는 경우 Lookup Method Injection, Arbitrary Method Replacement 등의 기법을 활용할 수 있습니다.1️⃣ Method Injection이란?📌 기본 개념🔹 싱글톤 빈이 프로토타입 빈을 참조할 때, 새로운 인스턴스를 주입받아야 하는 경우 발생하는 문제를 해결하는 방법🔹 Spring 컨테이너가 런타임에 동적으로 메서드를 오버라이드하여, 새로운 프로토타입 빈을 반환하도록 구현🔹 Spring이 제..
2024.11.14 -
Using depends-on, Lazy-initialized Beans, Autowiring Collaborators
🌱 Spring Bean Management: depends-on, Lazy-initialized Beans, AutowiringSpring에서는 빈(Bean)의 초기화 순서, 지연 로딩(Lazy Initialization), 자동 주입(Autowiring) 을 통해 효율적인 객체 생성 및 관리 를 수행할 수 있습니다.이번 정리에서는 이러한 개념들을 명확히 설명하고, 활용 방법을 소개하겠습니다.1️⃣ Using @DependsOn: 빈 초기화 순서 제어🔹 @DependsOn이란?특정 빈이 생성되기 전에 먼저 초기화해야 할 빈을 지정하는 어노테이션빈 간의 의존성을 명시적으로 정의하여, 초기화 순서를 강제할 수 있음다수의 빈을 순차적으로 초기화 가능✅ 예제: @DependsOn을 활용한 빈 초기화 순서 ..
2024.11.14 -
Dependencies
일반적인 엔터프라이즈 애플리케이션은 단일 객체(또는 스프링 용어로는 빈)로 구성되지 않습니다. 가장 단순한 애플리케이션조차도 몇 가지 객체가 함께 작동하여 최종 사용자가 일관된 애플리케이션으로 인식할 수 있도록 합니다. 다음 섹션에서는 독립적으로 정의된 여러 빈 정의에서 출발하여 객체들이 목표를 달성하기 위해 협력하는 완성된 애플리케이션으로 전환하는 방법을 설명합니다. Section SummaryDependency InjectionDependencies and Configuration in DetailUsing depends-on, Lazy-initialized Beans, Autowiring CollaboratorsMethod Injection
2024.11.14 -
Advanced Java Config
Advanced Java Configuration in Spring MVCSpring MVC의 설정은 디폴트 모드와 고급 모드로 나뉠 수 있으며, 각각 다른 방식으로 MVC 설정을 구성할 수 있습니다. Spring MVC에서는 @EnableWebMvc를 사용하여 디폴트 설정을 활성화하고, WebMvcConfigurer를 통해 세부 설정을 추가하거나 커스터마이징할 수 있습니다. 하지만 더 고급 모드로 전환할 경우, @EnableWebMvc를 제거하고 DelegatingWebMvcConfiguration을 확장하여 직접 MVC 설정을 세밀하게 제어할 수 있습니다.디폴트 모드와 고급 모드의 차이점디폴트 모드:@EnableWebMvc를 사용하여 Spring MVC의 디폴트 구성을 자동으로 적용합니다.WebMvc..
2024.10.15 -
Path Matching
Path Matching in Spring MVCPath Matching은 Spring MVC에서 클라이언트 요청의 URL path를 기반으로 적절한 컨트롤러와 매핑하는 과정입니다. Spring MVC는 URL 경로와 컨트롤러를 매핑하여 클라이언트 요청을 처리하는데, 이 과정에서 path matching에 다양한 옵션을 제공할 수 있습니다. 이러한 매칭 동작을 세부적으로 제어하기 위해 Spring MVC에서는 PathMatchConfigurer를 사용하여 매칭 방식을 커스터마이징할 수 있습니다.PathMatchConfigurer란?PathMatchConfigurer는 URL 경로와 컨트롤러 핸들러를 매핑할 때 경로를 처리하는 방법을 설정하는 데 사용되는 클래스입니다. 이를 통해 경로 매칭의 동작 방식을 ..
2024.10.15 -
Default Servlet
🌐 Spring MVC에서 Default Servlet 개념 정리Spring MVC에서 Default Servlet 은 정적 리소스(이미지, CSS, JavaScript 파일 등) 를 처리하는 서블릿입니다. 일반적으로 서블릿 컨테이너(예: Tomcat, Jetty, WebLogic 등) 가 / 경로로 요청된 정적 리소스를 처리하는 역할을 담당합니다.Spring MVC는 DispatcherServlet이 모든 요청을 처리하도록 설정 할 수 있지만, 이 경우 정적 리소스 요청이 정상적으로 처리되지 않을 가능성 이 있습니다. 이를 해결하기 위해 DefaultServletHttpRequestHandler 를 활용할 수 있습니다.⚡ DispatcherServlet과 정적 리소스 처리 문제📌 문제 상황Dispa..
2024.10.15