구성 클래스
구성 클래스 (Configuration Classes)
스프링 애플리케이션을 구성하는 방법은 XML이 아니라 자바 코드가 주류예요. Spring Boot는 자바 기반 구성을 선호해서, main 메서드가 있는 클래스 하나를 @Configuration으로 두는 걸 권장해요. 이 글에서는 구성 클래스를 두고, 추가 구성 클래스를 불러오거나 XML 구성을 함께 쓰는 방법을 살펴볼게요.
출처: Configuration Classes (Spring Boot Reference Documentation)
자바 기반 구성
비록 SpringApplication을 XML 원천과 함께 쓸 수는 있지만, 일반적으로는 단일 @Configuration 클래스를 기본 원천으로 두는 걸 권장해요. 보통 main 메서드를 정의하는 클래스가 기본 @Configuration으로 좋은 후보예요.
인터넷에 공개된 많은 스프링 예제가 XML 구성을 쓰고 있는데, 가능하면 항상 동등한 자바 기반 구성을 쓰세요. Enable* 어노테이션을 찾아보는 게 좋은 출발점이 될 수 있어요.
추가 구성 클래스 가져오기
모든 @Configuration을 하나의 클래스에 몰아 넣을 필요는 없어요. @Import 어노테이션으로 추가 구성 클래스를 가져올 수 있고, @ComponentScan으로 @Configuration 클래스를 포함한 모든 스프링 컴포넌트를 자동으로 찾게 할 수도 있어요.
XML 구성 가져오기
꼭 XML 기반 구성을 써야 한다면, 그래도 @Configuration 클래스에서 시작하는 걸 권장해요. 그런 다음 @ImportResource 어노테이션으로 XML 구성 파일을 로드하면 돼요.
더 알아보기 (Learn more)
- Spring Boot 의존성 주입 —
@Configuration클래스에서 빈을 정의하고 주입하는 표준 기법을 다뤄요. - Spring Framework — 구성 클래스 —
@Configuration·@Bean의 동작 원리를 자세히 다뤄요. - Spring Boot 자동 설정 — 구성 클래스가 자동 설정 빈과 어떻게 연결되는지 이해하는 데 도움이 돼요.