묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
@Configuration과 @ComponentScan 질문입니다
@Configuration이 설정 정보임을 알려주며 동시에 싱글톤을 보장할 수 있게 설정 파일 클래스에 사용하는 것은 이해했습니다. 마찬가지로 @ComponentScan 또한 @Component가 붙은 클래스들을 스캔하여 스프링 빈 자동 등록과 동시에 싱글톤 유지가 되도록 하는 것도 이해했습니다. 여기서 @ComponetScan(빈 자동 등록)을 사용할 때도 @Configuration 어노테이션도 사용이 필수인가요?@Component 사용 시에도 싱글톤을 유지하기 할 수 있다고 하셨는데, @ComponetScan위에 @Configuration 어노테이션을 사용하는 이유가 따로 있을까요?설정 파일 인식용인가요?아래와 같이 AutoAppConfig 파일 자체도 빈에 등록하기 위함인가요?@Configuration @ComponentScan( /* 탐색할 패키지의 시작 위치를 지정. 이 패키지 포함 하위 패키지 모두 탐색 두 개 이상일 때 → basePackages = {"hello.core", "hello.service"} */ basePackages = "hello.core", // 지정한 클래스의 패키지를 탐색 시작 위로 지정 basePackageClasses = AutoAppConfig.class ) public class AutoAppConfig { } 답변 부탁드립니다!감사합니다
-
미해결스프링 핵심 원리 - 기본편
@Configuration과 @ComponentScan 같이 사용
안녕하세요. 강의 너무 잘 보고 있습니다. 감사합니다.@Configuration과 @ComponentScan과 관련해서 질문이 있습니다. 1. AutoAppConfig class에 @ComponentScan이 정의돼 있으면, 추가적으로 Bean정의를 해주는 게 아니라면@Configuration은 필요 없지 않나요? 2. AppConfig에 @Configuration 어노테이션이 살아있으면 CoreApplication을 시작할 때, 이번에 새로 작성한 AutoAppConfig에서 빈을 등록하고 AppConfig에서 다시 한 번 Bean을 등록하면 Bean을 중복 등록하지 않나요? 3. @Configuration의 기능이 @Configuration이 사용된 클래스에 정의된 Bean 전부를 Spring Container에 등록하는 걸로 이해했습니다. @Configuration만 사용하면 프로젝트 전 범위의 파일을 스캔하지만 여기서 @ComponentScan의 Fiter 기능을 추가하면 탐색 범위를 축소시킬 수 있는 건가요?