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 등의 어노테이션을 사용해 빈등록을 하기로 결정했다.

 

어이없고도 멍청한 실수였기 때문에 다신 이런 실수를 반복하지 않도록 여기에 기록해둔다.