Spring Framework/Spring IoC(36)
-
엔터프라이즈 관련 기능
엔터프라이즈 관련 기능은 주로 대규모 애플리케이션 개발을 지원하기 위한 추가 기능입니다. 이들은 주로 편의성, 확장성, 엔터프라이즈 통합, 그리고 유지보수성을 강화하기 위해 설계된 기능들입니다.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 Beans, Container 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 Configurat..
2024.11.15 -
The BeanFactory API
BeanFactory API는 Spring의 IoC 기능의 기본 기반을 제공합니다. 해당 특정 인터페이스들은 주로 Spring의 다른 부분 및 관련 타사 프레임워크와의 통합에서 사용되며, DefaultListableBeanFactory 구현은 상위 수준의 GenericApplicationContext 컨테이너 내에서 key delegate 로 작동합니다.BeanFactory와 관련된 인터페이스(BeanFactoryAware, InitializingBean, DisposableBean 등)는 다른 프레임워크 구성 요소와의 중요한 통합 지점을 제공합니다. 애노테이션이나 심지어 리플렉션도 요구하지 않으므로 컨테이너와 구성 요소 간의 매우 효율적인 상호작용이 가능합니다. 애플리케이션 레벨의 빈은 동일한 콜백 인..
2024.11.15 -
Additional Capabilities of the ApplicationContext
서론에서 논의한 바와 같이, org.springframework.beans.factory 패키지는 프로그램 방식으로도 빈을 관리하고 조작할 수 있는 기본 기능을 제공합니다. org.springframework.context 패키지는 애플리케이션 프레임워크 지향 스타일로 추가 기능을 제공하기 위해 다른 인터페이스를 확장하는 것 외에도, BeanFactory 인터페이스를 확장한 ApplicationContext 인터페이스를 추가합니다. 많은 사람들이 ApplicationContext를 완전히 선언적으로 사용하여 프로그램 방식으로 생성하지 않고, ContextLoader 같은 지원 클래스를 사용하여 Jakarta EE 웹 애플리케이션의 일반적인 시작 프로세스의 일부로 자동으로 ApplicationContext..
2024.11.15 -
Registering a LoadTimeWeaver
LoadTimeWeaver는 Spring에서 클래스가 Java 가상 머신(JVM)에 로드될 때 동적으로 변환하는 데 사용됩니다.로드 타임 위빙을 활성화하려면, 다음 예제와 같이 @Configuration 클래스 중 하나에 @EnableLoadTimeWeaving을 추가할 수 있습니다: @Configuration@EnableLoadTimeWeavingpublic class AppConfig {} 또한, XML 설정에서는 context:load-time-weaver 요소를 사용할 수 있습니다: ApplicationContext에 로드 타임 위버가 구성되면, 해당 ApplicationContext 내의 모든 빈은 LoadTimeWeaverAware를 구현하여 로드 타임 위버 인스턴스에 대한 참조를 받을 수 ..
2024.11.15