얄팍한 스프링 (@Component와 @Bean은 언제?)

@Component
@Component는 component scanning과 자동 의존관계 설정에 유용함.
클래스에 @Component만 달아놓으면 스프링이 스캐닝 해주니까 (<- 이거 True? 실제로 안 해봄. 느낌임;)

그럼 @Bean은 언제 쓰지?
가끔씩 자동 의존관계 설정이 어려울 때가 있음.
예를들면 써드파티가 라이브러리를 제공한다 했을 때 우리는 써드파티의 소스코드까지 까볼 수 없다. 따라서 클래스에 @Component 어노테이션을 쓸 수 없음...

이런 경우엔 @Bean을 활용한다.

@Bean은 스프링이 root context에 등록해야하는 빈으로 등록하는 객체를 반환한다.
@Bean이 붙은 메소드는 instance 생성에 책임이 있음.

댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용