더북(TheBook)

구성을 정의한 뒤 앞서 살펴본 예제 코드를 실행하시기 바랍니다. defineMeaningOfLife() 메서드가 반환한 문구가 콘솔에 출력되는 것을 볼 수 있습니다.

또한, 스프링은 XmlBeanDefinitionReader 이외에 PropertiesBeanDefinitionReader를 제공함으로써 XML 대신 프로퍼티를 사용해 빈 구성을 관리할 수 있습니다. 프로퍼티는 작고 간단한 애플리케이션에 이상적이지만 빈이 매우 많아지면 관리하기가 급격히 어려워질 수 있습니다. 이런 이유로 아주 작은 애플리케이션을 제외한 대부분의 애플리케이션에서는 XML 구성 방식을 사용하는 것이 좋습니다.

BeanFactory 구현체를 직접 정의할 수도 있겠지만 직접 BeanFactory를 구현하는 것은 상당히 복잡한 일입니다. 직접 구현한 구현체가 제공되는 BeanFactory 구현체와 동일한 수준의 기능을 가지려면 단순히 BeanFactory 인터페이스만 구현하면 안 되며 훨씬 많은 인터페이스를 구현해야 합니다. 만약 새로운 구성 메커니즘을 정의하고 싶을 뿐이라면 BeanFactory 인터페이스를 구현한 DefaultListableBeanFactory 클래스를 상속받고 원하는 로직을 추가해서 정의를 읽어 들이는 자신만의 새로운 클래스를 만들면 됩니다.

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