본문 바로가기

Spring

[Spring] Spring 환경 구성


스프링 환경 구성 사전 요구 사항


스프링 환경은 다음의 요구 조건을 필요로 합니다.

  1. JDK 11이 설치되어 있어야 합니다.
  2. 환경 변수에 JAVAHOME 설정이 되어 있어야 합니다.
  3. IntelliJ Community Edition이 설치되어 있어야 합니다.

 

Spring Boot 기반의 샘플 프로젝트 생성


Spring Initializr 공식 사이트로 이동합니다.

 

 

  1. Project: 사용할 빌드 툴 선택 (Gradle/Maven)
    • Maven, Gradle은 프로젝트에 필요한 의존성을 관리하고 빌드 라이프사이클을 관리해 주는 툴입니다. 과거에는 Maven을 최근에는 Gradle을 사용하는 추세입니다. 스프링 라이브러리 관리 자체도 최근에는 Gradle로 하고 있습니다.
  2. Language: 사용할 언어 선택
  3. Spring Boot: 버전 선택
    • SNAPSHOT이 붙은 것은 현재 개발 중인 버전입니다.
    • M(minor)은 정식 릴리즈되지 않은 버전입니다.
    • 아무것도 붙어있지 않은 것은 정식 릴리즈된 버전입니다.
  4. Project Metadata: Group, Artifact 입력
    • Group엔 보통 기업의 도메인명을 적습니다. 개인 프로젝트라면 자유롭게 작성하면 됩니다.
    • Artifact는 빌드 결과물 이름을 입력합니다.
  5. Dependencies: 프로젝트에서 사용할 라이브러리르 추가
    • Spring Web: Web 프로젝트를 만들려면 Spring Web을 필수로 추가하여야 합니다.
    • Lombok: 어노테이션을 통해 자주 사용하는 Java 코드를 자동으로 구성해 주는 라이브러리입니다.

 

 

 

 

GENERATE 버튼을 클릭해서 Sample project를 다운로드합니다.

 

 

 

 

다운로드한 Sample project를 압축해제하여 줍니다.

 

템플릿 프로젝트를 IntelliJ에서 열기


IntelliJ를 실행한 뒤 Open  버튼을 눌러서 압축 해제한 템플릿 프로젝트 폴더를 선택합니다.

 

 

 

Gradle Reload


템플릿 프로젝트를 오픈하려면 Gradle 빌드 툴이 자동으로 빌드 작업을 하기 때문에 아래의 그림과 같이 External Libraries 하위에 의존 라이브러리들이 보여야 합니다.

 

 

 

만약 External Libraries 하위에 의존 라이브러리들이 보이지 않을 경우, 아래와 같이 Gradle 명령으로 프로젝트를 reload 합니다.

 

 

  • IntelliJ의 우측 상단의 Gradle 탭을 눌러서 오픈합니다.
  • 확장된 창의 좌측 상단의 Reload 버튼을 클릭합니다.
  • External Libraries 하위에 의존 라이브러리들이 보이는지 확인합니다.
  • 그럼에도 의존 라이브러리들이 보이지 않는다면 IntelliJ를 닫고 다시 실행시켜 보십시오.

 

IntelliJ로 Gradle 기반의 프로젝트를 오픈하면 의존 라이브러리르 찾지 못하는 경우가 발생하는데, 위와 같이 reload를 해주면 대부분의 문제가 해결 가능합니다.

 

Lombok 설정


IntelliJ 상단의 메인 메뉴에서 File -> Setting 버튼을 클릭합니다.

Build, Execution, Deployment -> Compiler -> Annotation Processors 메뉴를 선택한 후, Enable annotation processing 체크 박스에 체크한 후 Apply 버튼과 OK 버튼을 차례대로 클릭합니다.

 

 

 

Enable annotation processing 체크 박스에 체크를 해야 Lombok을 정상적으로 사용할 수 있습니다.

 

Spring Boot Application 동작 확인


아래의 그림과 같이 SampleProjectApplication을 확인한 뒤

코드 왼쪽의 녹색 삼각형을 클릭해서 애플리케이션을 실행합니다. 

 

 

 

아래와 같은 로그가 출력되면 애플리케이션이 정상적으로 실행된 것입니다.

 

 

'Spring' 카테고리의 다른 글

[Spring] DI(Dependency Injection)란?  (0) 2023.04.02
[Spring] 간단한 서비스 생성 및 테스트  (0) 2023.04.01
[Spring] Spring Framework란?(4)  (0) 2023.03.30
[Spring] Spring Framework란?(3)  (0) 2023.03.29
[Spring] Spring Framework란?(2)  (0) 2023.03.29