스프링 빈은 스프링 컨테이너가 생성과 관계 설정, 사용 등을 제어해주는 IoC가 적용된 객체를 가리키는 말이다. 빈 생성 스프링 컨테이너는 xml, java 등 다양한 형식의 설정 정보를 BeanDefinition 으로 추상화해서 사용. BeanDefinition 를 통해 빈 메타 정보를 생성하고 이걸 기반으로 스프링 빈 생성. 빈 등록 - 자동 빈 등록 -> @ComponentScan - 수동 빈 등록 -> @Configuration @Bean은 메소드 레벨에서 선언하며, 반환되는 객체(인스턴스)를 개발자가 수동으로 빈으로 등록하는 애노테이션이다. 반면 @Component는 클래스 레벨에서 선언함으로써 스프링이 런타임시에 컴포넌트스캔을 하여 자동으로 빈을 찾고(detect) 등록하는 애노테이션이다. 조..