공부하면서 헷갈리거나 놓쳤던 부분을 정리하고 있습니다.φ(・ω・` )
김영한님의 스프링 입문 강의를 복습하면서 Bean과 Component에 대해 자세히 알고 싶어졌다.
스프링의 특징 중 하나는 제어의 역전 즉 IoC인데,
IoC란 간단히 말하자면 개발자 대신 스프링이 객체를 관리해준다는 것이다.
그러기 위해서는 객체들이 Bean으로 등록되어있어야 한다.
빈으로 등록하는 방법중
@Bean과 @Component의 차이에 알아볼 것이다.
@Bean
@Configuration
public Class AppConfig {
@Bean
public PaymentProcessor cardPaymentProcessor() {
return new CardPaymentProcessor();
}
}
@Component
@Component
public Class CardPaymentProcessor implements PaymentProceesor {
//생략
}
controller의 내부에는 @Component가 포함되어있어서 자동으로 감지된다 (serivce, repository도 동일하다)