
빌드 도구를 의미하며 과거는 Maven이 많이 사용되는 추세였으나, 오늘날에 이르러 Gradle이 더 잘 활용되고 있습니다.
Gradle은 오픈 소스 빌드 자동화 도구로, Java와 다양한 다른 프로그래밍 언어를 지원하는 프로젝트 빌드 도구입니다. JVM 프로젝트를 빌드할 때 널리 사용되는 빌드도구로써 Groovy와 Kotlin 언어를 기반으로 만들어져 있으며, XML 대신 DSL(Domain Specific Language)을 사용하여 빌드 스크립트를 작성할 수 있습니다.
최소한의 코드로 유연한 빌드 파일 build.gradle을 생성합니다.
(Kotlin을 사용함과 동시에 kts로 마이그레이션 하여 build.gardle.kts를 활용하기도 합니다.)
Gradle은 다음과 같은 기능을 제공합니다.
회사의 프로젝트에선 Gradle를 활용하니 이에 대해서만 알고 가면 될 듯 합니다. Maven을 사용할 때가 오면 그 때 내용을 더 추가하겠습니다.
이는 과거의 면접질문에서 충분히 겪었으니 내용작성은 패스하겠습니다.
스프링 부트는 자바와 코틀린 모두 사용가능하며 이또한 회사 프로젝트에서 Kotlin을 활용하고, 이에 대한 내용은 숙지하고 있으니 넘어가겠습니다.
다음과 같은 일부 예외나 임시 상황을 제외한다면, 실제 프로덕트로 배포되는 어플리케이션은 항상 현재 버전의 스프링 부트를 사용해야 합니다.
임시상황
회사의 프로덕트의 버전에 맞추어 스프링 부트 버전 선택하기
스프링 부트 애플리케이션을 만드는 방법은 다양하지만, 대부분 스프링 이니셜라이저(스프링 초기 세팅 도구)로 만듭니다.

참고 :
스프링을 설치하기 전 JDK는 필수입니다.
SDKMAN! 패키지 관리자를 활용하여 JDK를 관리할 수 있습니다.
sdk list java로 원하는 자바 버전을 확인 후sdk install java <자바 버전>을 활용하여 설치합니다.
AdopOepnJDK에서 직접 다운로드 받는 방안도 있습니다.
Explore를 활용해 만들어질 프로젝트를 미리 볼 수 있으며

디펜던시도 추가할 수 있습니다.

그렇다면 스프링 부트 프로젝트와 표준 자바 어플리케이션과의 다른 점이 무엇일까요?
// 스프링 부트 main 클래스
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
표준 자바 어플리케이션에는 비어 있는 기본 메서드인 public static void main()이 기본적으로 들어 있습니다.
어플리케이션을 실행할 때 실행할 코드를 자바 클래스의 메인 메서드에 넣는 방식을 활용하여 어플리케이션을 실행합니다.
초기 컨텍스트를 생성하고이 모든 과정이 @SpringBootApplication이라는 최상위 어노테이션을 통해 한줄의 코드로 수행됩니다.
관련한 동작 메커니즘은 추후에 블로그 글에서 다를 예정입니다.
스프링 부트 어플리케이션을 만들 때 선택할 만한 가장 좋은 설정을 살펴보았습니다.
이들을 활용하여
를 제공합니다!