스프링 부트 개념과 활용
Gradle 사용 시 Parent 설정 불필요한 이유
회사에서 Gradle을 사용중이라 Maven 대신 Gradle로 설정했습니다 :)
Maven 대신 Gralde 사용 시 *-stater-parent 상속을 어떻게 해야하는 지 찾아보다가 공유합니다.
Gradle 사용 시, io.spring.dependency-management 플러그인을 적용하면 자동으로 spring-boot-starter-parent을 import 한다고 합니다. 예전 버전인 SpringBoot 1.4.5 공식문서에 아래 문장 발췌합니다.
> The spring-boot plugin automatically applies the Dependency Management Plugin and configures it to import the spring-boot-starter-parent bom. This provides a similar dependency management experience to the one that is enjoyed by Maven users
Gradle로 Spring Boot 프로젝트를 생성하면 자동으로 아래처럼 플러그인이 적용되어 있습니다. (별도로 추가하지 않아도 됌)
plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java'}
그리고 SpringBoot 2.5.0 공식문서에서 Gradle 사용하여 의존성 관리 시 Maven 사용자들이 Gradle을사용했을 때 유사한 사용자 경험을 할 수 있도록 제공해준다고 합니다. 버전 차이가 제법 나서 1.4.5 버전과 동일하게 *-stater-parent을 import 해주는 지는 모르겠지만, 사용자들이 내부에서 어떻게 상속받아오는지 알지 못해도 상관없도록 잘(?) 제공해주고 있는 것 같습니다.
결론 : 그냥 Gradle로 SpringBoot 신규 프로젝트 생성 시 설정되는 의존성 그대로 사용하면 된다.