Spring MVC Controller에서 ApplicationContext에 접근하기

Spring 프레임워크에 있어서 ApplicationContext 오브젝트는 Bean의 초기화와 Life Cycle을 관리하는 중요한 오브젝트이다. Spring MVC 기반의 웹 애플리케이션을 개발하다보면 ApplicationContext에 직접 접근할 일이 거의 없지만 Bean 오브젝트를 얻기 위해 필요할 때가 있다.

ApllicationContext 오브젝트를 획득하는 방법은?


방법은 간단하다. Controller 클래스를 예로 들면 BeanFactoryAware 인터페이스를 구현하고 아래와 같이 setBeanFactory() 메써드를 오버라이드하여 작성한다. 현재 활성화된 특정 Bean 오브젝트를 획득할 수 있다.


@Controller
public class SomeController implements BeanFactoryAware {
  private SomeBean someBean;

  @Override
  public void setBeanFactory(BeanFactory context) {
    someBean = (SomeBean) context.getBean("someBean");
  }
}

참고 글



저작자 표시 비영리 동일 조건 변경 허락
신고