# 차근차근 Modern Spring Boot 3 기초 (1)
설치 및 IDE 세팅

# 설치

대체재를 택해도 괜찮습니다만, 그대로 따라하실 분들은 가급적 같은 프로그램을 설치해 주세요.

* **Amazon Corretto 21** (Open JDK)
    
    * 설치 파일로 설치하면 환경변수 등록도 완료됩니다.
        
    * 환경 변수 등록을 완료하지 않았더라도 IDE(인텔리제이)에서 인식할 수 있으면 됩니다.
        
* **Docker Desktop** (일부 운영체제의 오래된 버전에서 도커가 지원되지 않습니다.)
    
    * ⭐️ 설치 후 첫 실행까지 완료해 주십시오.
        
* **Intellij IDEA Community**
    
* **DBeaver** 또는 기타 범용 DB 접속 툴
    
* **Postman**
    

---

# Spring Boot 프로젝트 생성

## 생성

* Spring Initializr: [https://start.spring.io/](https://start.spring.io/)
    

위 사이트에서 다음 내용으로 입력합니다.

![스프링 이니셜라이저 사이트에서 세팅한 내용의 캡처본 사진. 빌드 도구는 그레이들이고, 그레이들의 언어는 코틀린으로, 프로젝트 언어는 자바로, 버전은 스냅샷이 아닌 것 중 가장 높은 버전으로 선택하였다. 이 시점에서는 삼쩜삼쩜일 버전이 가장 높다. 그룹명은 com.example이고, 아티팩트 이름과 네임은 example-springboot3-webmvc이다. 디스크립션은 수정할 필요가 없고, 패키징은 jar로 한다. 자바 버전은 21로 선택했다. 오른쪽 디펜던시스는 아무것도 추가하지 않았다.](https://cdn.hashnode.com/res/hashnode/image/upload/v1720413431222/f3fabd2c-c0f6-4d5f-a251-072cffc8eebb.png align="center")

* (그림의 왼쪽) 버전은 메이저 버전이 3인 것 중에 선택합니다. (SNAPSHOT 제외)
    
* (그림의 오른쪽) 의존성 라이브러리를 미리 추가할 수 있지만, 우리는 곧 직접 작성할 예정입니다.
    

이제 페이지에서 'GENERATE' 버튼을 찾아서 누릅니다.

![생성 버튼 모양을 캡처한 사진.](https://cdn.hashnode.com/res/hashnode/image/upload/v1720413330856/a5b34977-5ad8-479f-8d36-14d2d39db231.png align="center")

## 워크스페이스 폴더 생성

가급적 단순한 경로에 워크스페이스용 폴더를 생성합니다. 경로 예시는 다음과 같습니다.

* (윈도우) `D:\workspace-group\intellij-personal-workspace`
    
* (Mac) `/Users/username/Desktop/workspace-group/intellij-personal-workspace`
    

> **💡 참고사항**
> 
> * PC 사용자 이름을 포함하여 전체 경로 중 **한글이 없어야** 안정적입니다(영문, 숫자).
>     
> * 띄어쓰기도 경로에 포함하지 않는 것이 낫습니다. (특히 STS나 이클립스를 병용하는 분들)
>     
> * 띄어쓰기 대신 하이픈(-)을 사용해도 좋습니다.
>     

## 워크스페이스 폴더에 이동

Spring initializr([https://start.spring.io/](https://start.spring.io/))에서 생성한 프로젝트를 워크스페이스로 옮깁니다.

**압축을 풀어야 합니다.**

---

# 인텔리제이 실행 및 설정

인텔리제이를 실행하고, 아까 생성한 프로젝트 폴더를 엽니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720418498459/fd826116-9b58-4baf-8cc7-a1cf8b31ba0f.png align="center")

프로젝트를 열었을 때 최상위 폴더(루트)가 프로젝트 폴더의 이름이어야 합니다. 아까 작성한 내용대로 했다면 `example-springboot3-webmvc` 폴더입니다.

인텔리제이에서 세세한 UI는 저와 다를 수 있습니다(각 메뉴의 아이콘 모양 등).

## 인텔리제이 설정

설정(Mac: preferences, Windows: settings)을 열어 줍니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720419017947/a97fbd91-1294-45e4-9aa3-f23e786d6e1e.png align="center")

### 인텔리제이 Gradle 설정

Gradle 속성을 작성하는 언어는 `groovy` 또는 `kotlin`입니다. 두 언어는 모두 JVM 언어에 해당하며, 사용할 JVM을 우리가 설정해 줄 수 있습니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720419332784/b3a4604b-80c2-49ed-b0af-6178f14c4832.png align="center")

빌드 도구 설정을 찾아 Gradle 설정에서 Gradle JVM을 Project SDK로 선택합니다. 옆에 뜨는 작은 글씨는 아직 다른 내용일 수 있습니다. 확인(OK)을 눌러 줍니다.

### 프로젝트 구조에서 프로젝트 SDK 설정

파일 &gt; 프로젝트 구조(Project Structure)를 선택합니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720419861916/c4bfb553-e158-4cd9-84ae-cf0f37a7af84.png align="center")

**Project 탭에서 project SDK를 JDK 21로 합니다.**

창이 뜨면 왼쪽 탭에서 project를 선택 후 SDK를 선택합니다. 이것이 다른 설정에서 Project SDK로 뜨는 항목입니다.

우리가 설치한 JDK 21(Amazon Corretto 21)을 선택합니다. 이미 되어 있을 수도 있습니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720419925532/7acbcd17-17dd-45b6-bd60-dc90de329278.png align="center")

**Modules 탭에서 언어 수준을 project default로 합니다.**

이미 되어 있을 수도 있습니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720420283363/7ea5ce82-203c-4b9c-a3f3-0c189d692bcd.png align="center")

완료(OK)를 선택합니다.

### 임포트 옵션 설정

구글의 자바 코드 컨벤션에서는 임포트 시 `*`(asterisk) 임포트 대신 개별 임포트를 추천하고 있습니다.

다시 설정 창(preferences 또는 settings)을 열고, import를 검색합니다.

에디터 &gt; 코드 스타일 중 자바를 선택하면, 인텔리제이는 다음처럼 관련 메뉴에 하이라이트를 켜 줍니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720420724590/39b763fa-d302-4978-bcaa-8a2c5abe763d.png align="center")

imports 탭을 선택하여, 다음처럼 수정해 줍니다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720420998203/018416c6-b386-4d8e-86b2-cc95c0bcf9dd.png align="center")

* 내부 클래스(inner class)를 임포트하도록 설정했습니다. 일부 코드 습관에 도움이 됩니다.
    
* Asterisk(`*`)를 통한 와일드카드식 임포트를 막기 위해, 동일 출처에서 개별 임포트를 999개까지 할 수 있도록 하였습니다.
    

이제 인텔리제이 작업 환경의 준비가 완료되었습니다.

---

[**Next &gt;**](https://letsdev.hashnode.dev/step-by-step-springboot3-2-kor)

[Docker Compose로 프로젝트별 DB 설치](https://letsdev.hashnode.dev/step-by-step-springboot3-2-kor)
