ApplicationContext(), AnnotationConfigApplicationContext() 차이

devguri·2022년 4월 13일
0
post-thumbnail

빈데이터 정보를 저장하려 했는데 오류가 발생했는데 ApplicationContex()와 AnnotationConfigApplicationContext()의 차이로 인한 오류 같았다.

스프링 컨테이너 생성

ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);

이렇게 스프링 컨테이너 선언 후 getBeanDefinition으로 빈정보를 꺼내려했는데 오류 발생

이유를 찾아보니 ApplicationContext는 상위 인터페이스라서 기능이 적다고 한다. 그래서 getBeanDefinition 기능이 없는 듯 하다.

변경 후

AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);

그래서 AnnotatinoConfigApplicationContext를 통해 스프링 컨테이너 형식을 저장하니 getBeanDefinition() 이 적용되는 것을 확인했다.


그러나 대부분 상위 인터페이스인 ApplicationContext를 사용하여 개발하여 변경이 용이하게 사용한다고 한다.

✅ 알아두면 좋을 것 같아서 정리해보았다!

profile
Always live diligently

0개의 댓글