Home [Spring] 1.16. The BeanFactory

[Spring] 1.16. The BeanFactory

1.16. The BeanFactory

The BeanFactory API provides the underlying basis for Spring’s IoC functionality. Its specific contracts are mostly used in integration with other parts of Spring and related third-party frameworks, and its DefaultListableBeanFactory implementation is a key delegate within the higher-level GenericApplicationContext container.

  • BeanFactory API는 Spring의 IoC 기능을 위한 기초를 제공한다.
  • 그것의 구체적인 계약은 대부분 Spring의 다른 부분 및 관련 제3자 프레임워크와의 통합에 사용되며, 그것의 DefaultListableBeanFactory 구현은 상위 레벨의 GenericApplicationContext 컨테이너 내의 핵심 대리인이다.

BeanFactory and related interfaces (such as BeanFactoryAware, InitializingBean, DisposableBean) are important integration points for other framework components. By not requiring any annotations or even reflection, they allow for very efficient interaction between the container and its components. Application-level beans may use the same callback interfaces but typically prefer declarative dependency injection instead, either through annotations or through programmatic configuration.

  • BeanFactory 및 관련 인터페이스(예: BeanFactoryAware, InitializingBean, DisposableBean)는 다른 프레임워크 구성요소의 중요한 통합 지점이다.
  • 주석이나 reflection를 요구하지 않기 때문에 container와 container의 components 간에 매우 효율적인 상호작용을 할 수 있다.
  • 응용 프로그램 수준 beans은 동일한 콜백 인터페이스를 사용할 수 있지만 일반적으로 주석이나 프로그램 구성을 통해 선언적 의존성 주입을 선호한다.

Note that the core BeanFactory API level and its DefaultListableBeanFactory implementation do not make assumptions about the configuration format or any component annotations to be used. All of these flavors come in through extensions (such as XmlBeanDefinitionReader and AutowiredAnnotationBeanPostProcessor) and operate on shared BeanDefinition objects as a core metadata representation. This is the essence of what makes Spring’s container so flexible and extensible.

  • 핵심 BeanFactory API 수준과 그 DefaultListableBeanFactory 구현은 사용할 configuration 형식이나 component annotations에 대해 가정을 하지 않는다는 점에 유의하자.
  • 이러한 모든 flavors(맛, 풍미)은 확장을 통해 제공되며(예: XmlBeanDefinitionReaderAutoworedAnnotationBeanPostProcessor) 핵심 메타데이터 representation으로 공유 BeanDefinition 객체에서 작동한다.
  • 스프링의 컨테이너가 이처럼 유연하고 확장 가능한 것이 바로 이것이다.



This post is licensed under CC BY 4.0 by the author.

[Spring] 1.15.5. Deploying a Spring ApplicationContext as a Java EE RAR File

macOS에서 Rust 시작해보기