Spring Framework(182)
-
Resources
이 챕터에서는 Spring이 리소스를 처리하는 방법과 Spring에서 리소스를 다루는 방법에 대해 다룹니다.Introduction자바의 표준 java.net.URL 클래스와 다양한 URL 접두사에 대한 표준 핸들러는 저수준 리소스에 대한 모든 접근에 충분히 적합하지 않은 경우가 종종 있습니다. 예를 들어, 클래스패스에서 가져와야 하는 리소스나 ServletContext를 기준으로 상대적인 리소스에 접근하기 위한 표준화된 URL 구현이 없습니다. 특수한 URL 접두사(예: http:와 같은 기존 핸들러와 유사)에 대한 새로운 핸들러를 등록하는 것은 가능하지만, 이는 일반적으로 매우 복잡하며, URL 인터페이스는 리소스의 존재 여부를 확인하는 메서드와 같은 일부 필요한 기능이 여전히 부족합니다.The Res..
2024.11.15 -
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 -
Registering a LoadTimeWeaver
LoadTimeWeaver는 Spring에서 클래스가 Java 가상 머신(JVM)에 로드될 때 동적으로 변환하는 데 사용됩니다.로드 타임 위빙을 활성화하려면, 다음 예제와 같이 @Configuration 클래스 중 하나에 @EnableLoadTimeWeaving을 추가할 수 있습니다: @Configuration@EnableLoadTimeWeavingpublic class AppConfig {} 또한, XML 설정에서는 context:load-time-weaver 요소를 사용할 수 있습니다: ApplicationContext에 로드 타임 위버가 구성되면, 해당 ApplicationContext 내의 모든 빈은 LoadTimeWeaverAware를 구현하여 로드 타임 위버 인스턴스에 대한 참조를 받을 수 ..
2024.11.15 -
Environment Abstraction
Environment 인터페이스는 애플리케이션 환경의 두 가지 주요 측면인 profile과 properties을 모델링하는 컨테이너에 통합된 추상화입니다. profile은 지정된 profile이 활성 상태일 때만 컨테이너에 등록할 논리적 빈 정의 그룹입니다. 빈은 XML이나 애노테이션으로 정의되든 profile에 할당될 수 있습니다. Environment 객체의 profile과 관련된 역할은 현재 활성화된 profile이 무엇인지, 디폴트로 활성화되어야 할 profile이 무엇인지를 결정하는 것입니다. properties은 거의 모든 애플리케이션에서 중요한 역할을 하며, properties 파일, JVM 시스템 속성, 시스템 환경 변수, JNDI, 서블릿 컨텍스트 파라미터, 임시 Properties 객체..
2024.11.14