• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Configuration 애노테이션

19.02.11 21:00 작성 조회수 148

1

안녕하세요.

@Configuration 애노테이션이 어떻게 동작되는지 헷갈리는 부분이 생겨 문의드립니다.

'스프링 부트 개념과 활용' 강좌의 '자동 설정 만들기 1부: Starter와 AutoConfigure'에서 예제를 통해 @EnableAutoConfigure를 설명해주셨습니다.

그 때는 HolomanConfiguration.java에 @Configuration 애노테이션을 넣은 후, spring.factories 파일을 생성하였습니다. 그 결과 @EnableAutoConfigure로 Holoman 빈이 등록되게 하였습니다.

그런데, 이번 강좌에서는 AppConfig.java에 @Configuration 사용 시에, spring.factories를 사용하시지 않더라고요. 그래서 @Configuration 애노테이션의 부모를 보니, 또 @Component가 있더라고요. 이 것은 @ComponentScan으로 빈으로 등록되면서, 그 필드에 있는 ModelMapper, PasswordEncoder 등등이 빈으로 등록되는건가요?

답변 2

·

답변을 작성해보세요.

0

SimonDev님의 프로필

SimonDev

질문자

2019.02.16

아 네 그런 것이군요.

답변 감사드립니다.

0

spring.factories 파일에 설정하는 방법은 그 프로젝트를 다른 프로젝트에서 사용할 때 거기 만들어 둔 설정(@Configuration)을 자동으로 적용하기 위한 설정입니다. 스프링 부트의 자동 설정 원리를 설명 드린거구요.

@Configuration은 말씀하신대로 컴포넌트 스캔에 의해 빈으로 인식되면 그 안에 있는 @Bean들이 빈으로 등록 됩니다.

@Configuration이 spring.facgtories를 꼭 필요로 하는 건 아니니까 스프링 부트 동작 원리 쪽에 있는 설명과 분리해서 이해해 주세요.

감사합니다.