IoC Container

Spring IoC Container

ApplicationContext 인터페이스는 Spring IoC 컨테이너를 나타내며, 인스턴스 구성 및 bean 조립을 담당

아래는 Spring의 작동 방식을 개략적으로 보여줌

Springframework 용어 정리

Bean 빈 또는 빈 오브젝트는 스프링이 IOC 방식으로 관리하는 오브젝트를 말함 Spring Application에서 사용하는 모든 오브젝트가 빈이라고 불리는것이 아니라, 스프링이 직접 생성과 제어를 담당하는 오브젝트를 빈이라고 부른다.

빈 팩토리 스프링의 ioc 를 담당하는 컨테이너를 가리킴 빈을 등록하고, 생성하고 조회하고 부가적인 관리 기능을 담당 beanFactory를 바로 사용하지 않고, 확장한 application context를 이용한다.

애플리케이션 컨텍스트 빈 팩토리를 확장한 IOC 컨테이너, 빈을 등록하고 관리하는 기본적인 기능은 빈팩토리와 동일하다. 스프링에서 빈팩토리기능 말고도 부가적인 서비스를 추가로 제공함. 빈 팩토리라고 부를때는 주로 빈의 생성과 제어의 관점, 애플리케이션 컨텍스트라고 할 때는 스프링이 제공하는 애플리케이션 지원 기능을 모두 포함해서 이야기 하는 것이라고 보면된다.

applicationContext는 beanFactory를 상속한다.

설정정보/설정 메타 정보 스프링 애플리케이션 컨텍스트 또는 빈 팩토리가 ioc를 적용하기 위해 사용되는 메타정보 (xml이 될수도있고, java 어노테이션, java 코드 로 표기 될 수 있다.)

컨테이너 또는 ioc 컨테이너 IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 팩토리를 컨테이너 또는 IoC container라고 한다.

스프링 프레임워크 스프링 프레임워크는 IoC 컨테이너, 애플리케이션 컨텍스트를 포함해서 스프링이 제공하는 모든 기능을 통틀어 말할 때 주로 사용

Spring Java API

API를 찾아서 들어가게 되면 아래와 같이 확인을 할 수 있다.

ApplicationContext API

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/ApplicationContext.html

BeanFactory API

All Known Implementing Classes들은 아래와 같다. AbstractApplicationContext, AbstractAutowireCapableBeanFactory, AbstractBeanFactory, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, DefaultListableBeanFactory, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, GroovyWebApplicationContext, ResourceAdapterApplicationContext, SimpleJndiBeanFactory, StaticApplicationContext, StaticListableBeanFactory, StaticWebApplicationContext, XmlBeanFactory, XmlWebApplicationContext

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/BeanFactory.html

참고 :

토비의 스프링
[https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html]

'BackEnd > Spring' 카테고리의 다른 글

Bean Scope  (0) 2020.02.11
ClassPath Scanning and Managed Components  (0) 2020.02.08
Customizing the Nature of a Bean  (0) 2020.02.01
DI (Dependency Injection)  (0) 2020.02.01
Spring-Core  (0) 2020.01.19

+ Recent posts