작성
·
75
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
코드 예시에서 AnnotationConfigApplicationContext
를 사용하는 것과 XML 설정을 사용할 때 ApplicationContext
로 받는 것 사이에는 일반적으로 다음과 같은 이유가 있습니다.
AnnotationConfigApplicationContext
는 자바 기반의 설정을 사용할 때 사용되는 구체적인 ApplicationContext
의 구현체입니다. 이는 주로 애노테이션 기반의 설정을 로드하는 데 사용됩니다.
반면에, XML 설정을 사용할 때는 ApplicationContext
인터페이스 타입으로 받는 이유는 구체적인 구현체에 의존하지 않기 위해서입니다. ApplicationContext
는 여러 구현체 (AnnotationConfigApplicationContext
, XmlWebApplicationContext
, GenericApplicationContext
등)의 공통 기능을 정의하는 인터페이스입니다. 따라서, XML 설정이나 다른 형태의 설정을 사용할 때, 상위 타입인 ApplicationContext
로 받음으로써 코드의 유연성을 증가시키고 구현체 변경에 따른 영향을 최소화할 수 있습니다.
실제 개발 과정에서는 구체적인 구현보다는 인터페이스에 의존하는 것이 좋은 설계 원칙 중 하나입니다. 이를 통해 코드의 유연성과 확장성을 높이고, 변경 사항에 좀 더 용이하게 대응할 수 있습니다. 따라서, XML 설정 형식을 사용할 때 부모 타입인 ApplicationContext
로 받는 것은 이런 설계 원칙에 부합하는 것으로 볼 수 있습니다.
영한님 감사합니다!