English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring IoC 컨테이너

IoC 컨테이너는 객체를 인스턴스화, 구성 및 구성합니다. IoC 컨테이너는 XML 파일에서 정보를 가져오고 해당 정보에 따라 작업합니다. IoC 컨테이너가 수행하는 주요 작업은 다음과 같습니다:

애플리케이션 클래스를 인스턴스화합니다 객체를 구성합니다 객체 간의 의존성을 구성합니다

IoC 컨테이너는 두 가지 유형이 있습니다. 그들은 다음과 같습니다:

BeanFactory ApplicationContext

BeanFactory와 ApplicationContext의 차이

org.springframework.beans.factory. BeanFactory 와 org.springframework.context. ApplicationContext 인터페이스는 IoC 컨테이너를 대표합니다. ApplicationContext 인터페이스는 BeanFactory 인터페이스의 위에 위치합니다. BeanFactory보다 추가적인 기능을 제공합니다. 예를 들어 Spring의 AOP와의 간단한 통합, 메시지 자원 처리(used for I18N),이벤트 전파,웹 애플리케이션의 애플리케이션 레이어 특정上下문(예: WebApplicationContext)。따라서 ApplicationContext를 사용하는 것이 BeanFactory보다 더 좋습니다。

BeanFactory 사용

XmlBeanFactory는 BeanFactory 인터페이스의 구현 클래스입니다. BeanFactory를 사용하려면 XmlBeanFactory 클래스의 인스턴스를 생성해야 합니다. 다음과 같이 합니다:

Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);

XmlBeanFactory 클래스의 생성자는 Resource 객체를 받아들이기 때문에, 우리는 이 자원 객체를 전달하여 BeanFactory 객체를 생성해야 합니다.


ApplicationContext 사용

ClassPathXmlApplicationContext 클래스는 ApplicationContext 인터페이스의 구현 클래스입니다. ApplicationContext를 사용하려면 ClassPathXmlApplicationContext 클래스를 인스턴스화해야 합니다. 다음과 같이 합니다:

ApplicationContext context = 
    new ClassPathXmlApplicationContext("applicationContext.xml");

ClassPathXmlApplicationContext 클래스의 생성자는 문자열을 받아들이기 때문에, 우리는 xml 파일의 이름을 전달하여 ApplicationContext 인스턴스를 생성할 수 있습니다.