logo

IoC 컨테이너

  1. IoC 컨테이너
  2. BeanFactory 사용하기
  3. ApplicationContext 사용

IoC 컨테이너는 객체의 인스턴스화, 구성 및 조립을 담당합니다. IoC 컨테이너는 XML 파일에서 정보를 가져와 그에 따라 작동합니다. IoC 컨테이너가 수행하는 주요 작업은 다음과 같습니다.

  • 애플리케이션 클래스를 인스턴스화하려면
  • 개체를 구성하려면
  • 객체 간의 종속성을 조합하기 위해

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

    콩공장 애플리케이션컨텍스트

BeanFactory와 ApplicationContext의 차이점

org.springframework.beans.factory. 콩공장 그리고 org.springframework.context. 애플리케이션컨텍스트 인터페이스는 IoC 컨테이너 역할을 합니다. ApplicationContext 인터페이스는 BeanFactory 인터페이스 위에 구축됩니다. 이는 Spring의 AOP와의 간단한 통합, 메시지 자원 처리(I18N용), 이벤트 전파, 웹 애플리케이션을 위한 애플리케이션 계층 특정 컨텍스트(예: WebApplicationContext)와 같은 BeanFactory보다 몇 가지 추가 기능을 추가합니다. 따라서 BeanFactory보다 ApplicationContext를 사용하는 것이 더 좋습니다.

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의 인스턴스를 생성할 수 있습니다.

ApplicationContext를 사용하려면 예제를 다운로드하세요.