-
@Component와 컴포넌트 스캔SPRING/스프링프레임워크 핵심개념 2021. 5. 9. 10:52
@ComponentScan 어노테이션은 해당 클래스가 있는 Package 이하의 모든 클래스들을 스캔한다.
스프링부트의 경우 Application 클래스에 @SpringBootApplication가 존재하는데 @ComponentScan을 포함한다.
위와 같이 다른 패키지에 있는 MyService의 Bean을 등록하려면 어떻해야 할까?
아래 코드와 같이 패키지 밖에 있는 클래스를 별도로 Bean으로 등록하면된다.
@SpringBootApplication public class DemoApplication { @Autowired MyService myService; @Autowired BookService bookService; public static void main(String[] args) { new SpringApplicationBuilder() .sources(DemoApplication.class) .initializers((ApplicationContextInitializer<GenericApplicationContext>) applicationContext -> { applicationContext.registerBean(MyService.class); // 다른 Package의 Class를 Bean으로 등록 할 수 있다. }) .run(args); } }
'SPRING > 스프링프레임워크 핵심개념' 카테고리의 다른 글
Environment - 프로파일 (0) 2021.05.14 Bean의 스코프 (0) 2021.05.13 @Autowired를 이용한 의존성 주입 (0) 2021.05.09 다양한 Bean 주입 방법 (0) 2021.05.08 IOC컨테이너/ 빈 / DI 관련 개념정리 (0) 2021.05.08