더북(TheBook)

이제 독립 실행형 자바 애플리케이션에서 원하는 처리를 하기 위해 스프링의 BeanFactory를 초기화하고 oracle 빈을 가져오는 방법을 살펴보겠습니다. 코드는 다음과 같습니다.

예제 3-12 XmlConfigWithBeanFactory 클래스([[setter-injection]] XmlConfigWithBeanFactory.java)

package com.apress.prospring5.ch3;

import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.ClassPathResource;

public class XmlConfigWithBeanFactory {

    public static void main(String... args) {
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        XmlBeanDefinitionReader rdr = new XmlBeanDefinitionReader(factory);
        rdr.loadBeanDefinitions(new 
            ClassPathResource("spring/xml-bean-factory-config.xml"));
        Oracle oracle = (Oracle) factory.getBean("oracle");
        System.out.println(oracle.defineMeaningOfLife());
    }
}

 

앞 예제 코드는 스프링이 제공하는 두 개의 주요 BeanFactory 구현체 중 하나인 DefaultListable BeanFactory를 사용하고 있으며, XmlBeanDefinitionReader를 사용해 XML 파일의 BeanDefinition 정보를 읽는 것을 볼 수 있습니다. BeanFactory 구현체를 생성하고 구성한 후에는 XML 파일에 구성한 대로 oracle이라는 빈 이름을 사용해 oracle 빈을 가져옵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.