더북(TheBook)

2.3.3 무슨 일이 일어났을까?

존재하지 않는 구성으로 자동 구성을 설명하기가 쉽지 않다. 여기서는 자동 구성을 설명하기보다는 꼭 해야 하는 애플리케이션 코드 작성을 집중적으로 살펴본다.

하지만 분명 어딘가에 구성이 몇 개 있기는 할 것이다. 그렇지 않는가? 구성은 스프링 프레임워크의 핵심 요소이고, 스프링에 애플리케이션을 어떻게 실행할지 알릴 무언가가 꼭 있어야 한다.

애플리케이션에 스프링 부트를 도입하면 구성 클래스 몇 개를 포함하는 JAR 파일인 spring-boot-autoconfigure를 추가한다. 모든 구성 클래스는 애플리케이션의 클래스패스에 있으므로 언제든지 애플리케이션을 구성하는 데 사용할 수 있다. Thymeleaf, 스프링 데이터 JPA, 스프링 MVC용 구성이 있으며, 애플리케이션에서 이용할 만하거나 이용하지 않을 만한 다른 구성도 수십 개가 있다.

이 모든 구성은 스프링 4.0에서 도입한 조건부 구성(Conditional Configuration) 지원을 사용하기 때문에 더 특별해질 수 있었다. 조건부 구성 기능을 이용하여 애플리케이션에서 구성을 사용할 수 있고 특정 조건에 부합하지 않으면 무시할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.