BackEnd/Spring
[Spring] [SpringBoot] 스프링 Bean 등록에 대해 잘못 알고 있던 것
PgmJUN
2022. 1. 28. 18:17
팀 단위로 프로젝트를 진행하면서 팀원분 덕분에 잘못된 기초 개념을 바로잡을 수 있었다.
관련된 부분은 스프링 빈 등록인데 나는 여지껏 AppConfig를 만들고 @Bean 어노테이션을 사용하여
스프링 컨테이너에 스프링 빈을 등록하고서
@Service, @Repostiroy 등의 어노테이션으로 또 스프링 빈을 등록을 하는 멍청한 실수를 하고 있었다.
@Service, @Repository 등 어노테이션을 사용하면
Main Method의 @SpringBootApplication 에 포함된 @ComponentScan 어노테이션이 해당 어노테이션을 가진
클래스들을 찾아 "얘는 Service고, 얘는 Repository네~" 라고 알아서 판단하여 알맞은 빈으로 등록을 해준다.
(Service와 Repository 어노테이션 내부에 @Component라는 어노테이션이 포함되어 있기 때문)
이번 프로젝트는 큰 규모의 프로젝트가 아니기 때문에 복잡하게 의존성을 설정할 필요가 없어
@Service, @Repostiroy 등의 어노테이션을 사용해 빈등록을 하기로 결정했다.
어이없고도 멍청한 실수였기 때문에 다신 이런 실수를 반복하지 않도록 여기에 기록해둔다.