기존 Spring에서는 componet-scan을 XML파일로 등록해 빈(Bean)을 설정했다. 그러나 Spring-Boot에서는 딱히 설정하지 않아도 충분히 가능했다. 그 이유는 무엇일까?
→ 답은 메인 클래스에 있는 import org.springframework.boot.autoconfigure.SpringBootApplication; 에 있다.
SpringBootApplication에 있는 @ComponentScan 어노테이션이 있다. 이 어노테이션이 기본적으로 main() 메소드가 포함된 클래스가 속해 있는 패키지를 베이스로 패키지로 하여 빈 등록을 처리하는 것이다.
즉, 현재 상황은 XML 설정 파일에 <context:component-scan base-package="com.****>로 설정한 것과 동일하게 동작한다.
그렇다면 무조건 main() 메소드가 포함된 클래스가 속해 있는 패키지에서만 클래스를 만들어야 하는 것은 아니다.
main() 메소드가 있는 곳에
@ComponentScan(basePackages = {"com.*", "com.*"})의 방식으로 추가할 수 있다.
'Spring_SpringBoot > 이론' 카테고리의 다른 글
SpringBoot 의존성 관리 (0) | 2024.06.03 |
---|---|
RestController/Controller (0) | 2024.06.03 |
Spring-Security pom.xml(보완)과 Tomcat (0) | 2024.06.03 |
스프링부트 어노테이션 ☏ (0) | 2024.06.03 |
스프링부트(SpringBoot)의 장점 (0) | 2024.06.03 |