얄팍한 스프링 (@Component와 @Bean은 언제?)
@Component
@Component는 component scanning과 자동 의존관계 설정에 유용함.
클래스에 @Component만 달아놓으면 스프링이 스캐닝 해주니까 (<- 이거 True? 실제로 안 해봄. 느낌임;)
그럼 @Bean은 언제 쓰지?
가끔씩 자동 의존관계 설정이 어려울 때가 있음.
예를들면 써드파티가 라이브러리를 제공한다 했을 때 우리는 써드파티의 소스코드까지 까볼 수 없다. 따라서 클래스에 @Component 어노테이션을 쓸 수 없음...
이런 경우엔 @Bean을 활용한다.
@Bean은 스프링이 root context에 등록해야하는 빈으로 등록하는 객체를 반환한다.
@Bean이 붙은 메소드는 instance 생성에 책임이 있음.
@Component는 component scanning과 자동 의존관계 설정에 유용함.
클래스에 @Component만 달아놓으면 스프링이 스캐닝 해주니까 (<- 이거 True? 실제로 안 해봄. 느낌임;)
그럼 @Bean은 언제 쓰지?
가끔씩 자동 의존관계 설정이 어려울 때가 있음.
예를들면 써드파티가 라이브러리를 제공한다 했을 때 우리는 써드파티의 소스코드까지 까볼 수 없다. 따라서 클래스에 @Component 어노테이션을 쓸 수 없음...
이런 경우엔 @Bean을 활용한다.
@Bean은 스프링이 root context에 등록해야하는 빈으로 등록하는 객체를 반환한다.
@Bean이 붙은 메소드는 instance 생성에 책임이 있음.
댓글
댓글 쓰기