Spring Framework/Spring IoC(44)
-
@Order
📌 Spring의 @Order 애노테이션 정리Spring에서 @Order 애노테이션은 컴포넌트(Bean) 간의 우선순위를 지정하는 데 사용되는 기능입니다.여러 개의 빈이 존재할 때 어떤 순서로 주입하거나 실행할지 결정할 때 활용됩니다.1️⃣ @Order의 역할 및 기본 개념✅ @Order는 동일한 타입의 여러 빈(또는 객체) 간에 정렬 순서를 지정하는 데 사용됩니다.✅ 숫자가 낮을수록 우선순위가 높음 (1 → 1이 가장 우선적으로 실행)✅ 주로 자동 주입(Collection, List, 배열) 시 정렬, 인터셉터 및 필터 실행 순서 지정 등에 활용됨.✅ 빈 생성 순서와는 관련 없음 (의존성 및 @DependsOn에 의해 결정됨).2️⃣ @Order 사용 예제✅ 1) 동일한 인터페이스를 구현하는 여러 ..
2025.01.26 -
엔터프라이즈 관련 기능
엔터프라이즈 관련 기능은 주로 대규모 애플리케이션 개발을 지원하기 위한 추가 기능입니다. 이들은 주로 편의성, 확장성, 엔터프라이즈 통합, 그리고 유지보수성을 강화하기 위해 설계된 기능들입니다.1. 메시지 소스(MessageSource) 지원다국어 처리(i18n)를 지원하기 위해 메시지 소스를 관리합니다.ApplicationContext는 메시지 소스(MessageSource)를 내장하고 있어 다국어 지원 메시지를 로드할 수 있습니다.예제# messages.properties (기본)greeting=Hello!# messages_ko.properties (한국어)greeting=안녕하세요!@Componentpublic class MessageService { @Autowired private ..
2025.01.16 -
Service Locator Pattern
서비스 로케이터 패턴(Service Locator Pattern)은 애플리케이션에서 의존성 관리를 위한 디자인 패턴 중 하나로, 객체가 자신의 의존성을 얻기 위해 중앙화된 레지스트리 역할을 하는 서비스 로케이터를 사용하는 방식입니다. 이 패턴은 주로 객체가 직접 의존성을 생성하지 않고, 서비스 로케이터를 통해 필요한 의존성을 요청하여 얻는 구조를 제공합니다. 서비스 로케이터 패턴의 작동 방식서비스 로케이터는 애플리케이션 내에서 서비스 객체(의존성)를 등록하고, 필요한 경우 이를 클라이언트에 제공하는 역할을 합니다.클라이언트 객체는 서비스 로케이터에 의존하여 필요한 의존성을 조회하거나 검색(lookup)합니다.서비스 로케이터는 의존성을 캐싱하거나, 필요에 따라 동적 생성하여 반환합니다. 구조서비스 로케이터..
2025.01.16 -
Spring IoC
Spring의 IoC(Inverse of Control) 컨테이너에 대해 다룹니다.Section SummaryIntroduction to the Spring IoC Container and BeansContainer OverviewBean OverviewDependenciesBean ScopesCustomizing the Nature of a BeanBean Definition InheritanceContainer Extension PointsAnnotation-based Container ConfigurationClasspath Scanning and Managed ComponentsUsing JSR 330 Standard AnnotationsJava-based Container Configuratio..
2024.11.15 -
The BeanFactory API
BeanFactory API는 Spring의 IoC 기능의 기본 기반을 제공합니다. 해당 특정 인터페이스들은 주로 Spring의 다른 부분 및 관련 타사 프레임워크와의 통합에서 사용되며, DefaultListableBeanFactory 구현은 상위 수준의 GenericApplicationContext 컨테이너 내에서 key delegate-주된 책임을 맡는 내부 구성 요소:delegate pattern-로 작동합니다.BeanFactory와 관련된 인터페이스(BeanFactoryAware, InitializingBean, DisposableBean 등)는 다른 프레임워크 구성 요소와의 중요한 통합 지점을 제공합니다. 애노테이션이나 심지어 리플렉션도 요구하지 않으므로 컨테이너와 구성 요소 간의 매우 효율적인..
2024.11.15 -
Additional Capabilities of the ApplicationContext
서론에서 논의한 바와 같이, org.springframework.beans.factory 패키지는 프로그램 방식으로도 빈을 관리하고 조작할 수 있는 기본 기능을 제공합니다. org.springframework.context 패키지는 애플리케이션 프레임워크 지향 스타일로 추가 기능을 제공하기 위해 다른 인터페이스를 확장하는 것 외에도, BeanFactory 인터페이스를 확장한 ApplicationContext 인터페이스를 추가합니다. 많은 사람들이 ApplicationContext를 완전히 선언적으로 사용(web.xml)하여 프로그램 방식으로 생성하지 않고, ContextLoader 같은 지원 클래스(서블릿 리스너)를 사용하여 Jakarta EE 웹 애플리케이션의 일반적인 시작 프로세스의 일부로 자동으로 ..
2024.11.15