spring @Bean vs @Component

shson·2020년 3월 4일
0

스프링 실습 책에서는 Component만 빈으로 만들었었는데 백기선님 강의를 보니 @Bean으로 빈으로 만드는 부분이 나와서 무엇이 다른지 찾아보았다.

결론부터 말하자면 @Component는 개발자가 정의한 클래스의 객체를 빈으로 등록하고 싶을때 사용하는 어노테이션이고
@Bean어노테이션은 외부 라이브러리에서 제공하는 객체를 빈으로 등록하고 싶을때 사용하는 어노테이션이다.

그래서 애초에 @Component는 클래스 정의파일에 쓰이고
@Bean은 외부 클래스의 객체를 생성하는 메소드 위에 쓰인다.

결국 @Autowired어노테이션으로 의존성 주입을 할때는 IOC에 어찌됫든 등록만 되어 있으면 된다.
아주 친절치 설명된 블로그 링크를 첨부한다.
단순히 @Component와 @Bean의 차이점 뿐만 아니라 @Autowired나 @Configuation같은 다른 어노테이션과 함께 쓰이는 것까지 아주 잘 설명해놨다.
https://galid1.tistory.com/494

profile
국물을 달라

0개의 댓글