@ComponentScan @Component 애노테이션이 붙은 클래스를 자동으로 스프링 빈으로 등록합니다. 해당 애노테이션이 붙어있는 클래스부터 하위로 탐색하면서 @ComponentScan의 대상을 찾습니다 그래서 @ComponentScan은 프로젝트가 실행되는 최상단에 두는 것이 좋습니다. 스프링에서는 애플리케이션이 실행되는 {프로젝트이름}Application클래스 @SpringBootApplication을 확인해보겠습니다. @SpringBootApplication 내부에 @ComponentScan이 있는 것을 확인 할 수 있습니다. 애플리케이션이 실행되면서 모든 @ComponentScan의 대상을 찾아서 빈으로 등록하고 @Autowired를 찾아 의존관계도 자동으로 주입해줍니다. @SpringBoo..