@ComponentScan
2023. 5. 30. 15:02ㆍ기술 창고/어노테이션 창고
728x90
SMALL
@ComponentScan
Component로 지정된 Bean 객체를 찾기위한 어노테이션으로 Bean 객체를 찾아 자동으로 생성하고 관리해주는 어노테이션입니다.
@Configuration
@ComponentScan // Component로 선언된 객체가 있는 경로로 가서 해당 객체를 자동으로 Bean 객체 생성 주입
public class GamingAppLauncherApplication {
public static void main(String[] args) {
try (var context = new AnnotationConfigApplicationContext(GamingAppLauncherApplication.class)) {
context.getBean(GamingConsole.class).up();
context.getBean(GameRunner.class).run();
}
}
}
@ComponentScan 을 사용할 시 경로 옵션을 주어 원하는 경로 패키지로 매핑시켜 해당 경로에 있는 Component 객체들을 대상으로 찾을 수 있습니다.
@Configuration
@ComponentScan("com.udemy.learnspringframework.app1.game") // Component로 선언된 객체가 있는 경로로 가서 해당 객체를 자동으로 Bean 객체 생성 주입
public class GamingAppLauncherApplication {
public static void main(String[] args) {
try (var context = new AnnotationConfigApplicationContext(GamingAppLauncherApplication.class)) {
context.getBean(GamingConsole.class).up();
context.getBean(GameRunner.class).run();
}
}
}
만약 ComponentScan 에 직접적으로 패키지 경로 옵션을 지정해주지 않았다면 기본적으로 현재 ComponentScan이 적용된 클래스의 패키지 내부를 기본으로 잡고 Scan을 수행합니다.
728x90
반응형
LIST
'기술 창고 > 어노테이션 창고' 카테고리의 다른 글
@Primary (0) | 2023.05.30 |
---|---|
@Qualifier (0) | 2023.05.30 |
@Component (0) | 2023.05.30 |
@Bean (0) | 2022.12.23 |
@Configuration (0) | 2022.12.23 |