Closed kjsu0209 closed 2 years ago
제 생각에는, ProductionAppContext
및 TestAppContext
와 같은 설정 클래스에 만약 @Configuration
이 없으면, 설정 파일로 인식하지 못하게 될 것이라 생각됩니다.
이 클래스가 설정 클래스인지, 빈 클래스인지 아님 그냥 내부에 있는 클래스인지 구분하기 위해서 등록하지 않았을까 생각합니다.
한번 코드에서 @Configuration
애노테이션을 제거하고 테스트를 진행하면, 오류가 생기지 않나요?
상속을 하지 않았으니까 두 클래스는 분리된 클래스로 생각하는 게 맞네요! 이해했습니다.
책 695p 리스트 7-121을 보시면 AppContext 안에 환경별 설정 클래스를 중첩 클래스로 넣어 주었는데요, 둘 다
@Configuration
어노테이션을 갖고 있습니다.AppContext
클래스 위에만@ComponentScan
이 있는 것을 보면 outer class의 어노테이션이 inner class에도 적용되는 것 같아 보이는데, 왜@Configuration
은 둘 다 붙어 있을까요? inner class는 outer class를 거쳐야만 접근할 수 있지 않나요?아래는 해당 코드입니다.