더북(TheBook)

2.4.2 스프링으로 리팩터링하기

앞서 살펴본 애플리케이션 수정을 통해 예제 애플리케이션이 모든 요구사항을 충족했지만 여전히 문제점이 남아 있습니다. 우선 애플리케이션 조각을 이어주면서도 컴포넌트 결합도를 낮게 유지하기 위해 컴포넌트 접착 코드를 상당히 많이 작성해야 했습니다. 또한, 코드를 작성해 MessageRenderer 구현체에 직접 MessageProvider 인스턴스를 제공해야 했습니다. 이 두 가지 문제는 모두 스프링을 사용해 해결할 수 있습니다. 컴포넌트를 연결하려고 너무 많은 접착 코드를 작성해야 하는 문제를 해결하기 위해 먼저 애플리케이션에서 MessageSupportFactory 클래스를 완전히 제거한 뒤 스프링이 제공하는 ApplicationContext 인터페이스로 대체합니다. 이 인터페이스를 몰라도 너무 걱정하지 않아도 됩니다. 지금으로서는 ApplicationContext 인터페이스는 스프링이 관리하는 범위 내에 있는 모든 환경 정보를 저장하는 데 사용된다고만 알고 있으면 충분합니다. 이 인터페이스는 ListableBeanFactory라는 인터페이스를 상속해 스프링이 관리하는 모든 빈 인스턴스에 대한 공급자 역할을 합니다.

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