인프런 커뮤니티 질문&답변

램쥐뱅님의 프로필 이미지
램쥐뱅

작성한 질문수

토비의 스프링 부트 - 이해와 원리

자동 구성 애노테이션 적용

자동구성 관련해서 질문드립니다.

해결된 질문

작성

·

220

1

 안녕하세요 토비님.

자동구성하는 방법에서 궁금한점이 있어 글드립니다.

@MyAutoConfiguration 과 같이 imports 를 통해 자동구성을 설정해줄때 Configuration 외에 Service 혹은 Repository(JPA) 등 여러 다른 Component 들이 있을때는 어떤방식으로 자동구성을 해줄수 있을까요?

단순히 생각했을때는 import 에 모두 기입하거나 @Import 의 방법이 생각이 들긴한데 너무 많은 정의가 있을경우에는 좋은방법이 있을까해서 질문드립니다.

@ComponentScan 을 사용하는 방법은 권장하지 않는다고 들었습니다. (아마 스캔에 따른 불명확함 때문이 아닌가 생각합니다)

답변 1

2

토비님의 프로필 이미지
토비
지식공유자

자동구성은 애플리케이션 컴포넌트(repository, service, controller 등)보다는 재사용이 가능하거나 필요한 기술 컴포넌트에 보통 적용합니다. 스프링 부트의 자동 구성의 예가 그렇죠.

@ComponentScan은 좋은 겁니다. 스캔을 하면 무슨 빈이 추가되는지 명확하게 보이지 않는다는 이유로 불평을 하는 사람도 있긴합니다만, 등록될 컴포넌트가 한 100개쯤 되면 @Import를 하든, @Configuration에 @Bean으로 직접 넣어서 정의를 하든, 그거 다 한 눈에 안보이기는 마찬가지입니다. 애플리케이션 빈을 추가할 때는 @ComponentScan이 최선입니다.

 

램쥐뱅님의 프로필 이미지
램쥐뱅
질문자

간단 명료하게 의견 주셔서 감사합니다.

덕분에 다시 한번 생각할 수 있는 계기가 되었습니다.

시간 내어 주셔서 또 새로운 지식 공유 해주시면 기쁜 마음으로 찾아뵙겠습니다

감사합니다.

 

램쥐뱅님의 프로필 이미지
램쥐뱅

작성한 질문수

질문하기