패스잇
백엔드 개발 · 중급

Spring Boot의 자동 설정(Auto Configuration)은 어떻게 동작하나요?

힌트 · @EnableAutoConfiguration과 spring.factories를 생각해보세요.

@EnableAutoConfigurationConditionalOnClassMETA-INF/spring.factoriesstarterBean 등록

모범답안

Spring Boot의 자동 설정은 개발자가 직접 Bean을 등록하지 않아도 Spring 애플리케이션을 쉽게 구성할 수 있도록 도와주는 기능입니다. 핵심은 @EnableAutoConfiguration 어노테이션과 spring.factories 파일입니다.

@EnableAutoConfiguration 어노테이션은 애플리케이션 시작 시 자동 설정 클래스들을 로드하도록 지시합니다. 이 때, Spring Boot는 META-INF/spring.factories 파일에서 자동 설정 클래스 목록을 찾습니다.

spring.factories 파일에는 org.springframework.boot.autoconfigure.EnableAutoConfiguration 키에 해당하는 자동 설정 클래스들이 나열되어 있습니다. 각 자동 설정 클래스는 @ConditionalOnClass와 같은 조건부 어노테이션을 사용하여 특정 클래스가 classpath에 존재할 때만 Bean을 등록하도록 구성됩니다. 예를 들어, DataSource 클래스가 존재하면 데이터베이스 관련 Bean을 자동으로 등록하는 식입니다.

이러한 자동 설정은 Spring Boot Starter를 통해 제공되며, 개발자는 필요한 Starter만 추가하여 애플리케이션에 필요한 기능들을 쉽게 활성화할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Java / Spring 면접 질문

← Java / Spring 면접 질문 전체 보기