IT 강좌(IT Lectures)/SpringBoot

2강. 개발 환경 설정

소울입니다 2024. 6. 21. 13:52
728x90
반응형

챕터 2: 개발 환경 설정

스프링부트 애플리케이션을 개발하기 위해서는 적절한 개발 환경을 설정하는 것이 중요합니다. 이 장에서는 JDK 설치, IntelliJ IDEA 설정, Maven과 Gradle 설정 등을 다룹니다.

2.1 JDK 설치 및 설정

스프링부트 3.x 버전은 JDK 17 이상을 필요로 합니다. 이 섹션에서는 OpenJDK를 활용하여 JDK를 설치하고 설정하는 방법을 설명합니다.

 

OpenJDK 설치

  1. OpenJDK 다운로드 페이지로 이동합니다.
  2. 운영 체제에 맞는 JDK 설치 파일을 다운로드하고 설치합니다.

환경 변수 설정 (Windows 기준)

  1. 환경 변수 편집 창을 엽니다.
  2. 시스템 변수 섹션에서 Path 변수를 찾아 편집합니다.
  3. JDK 설치 경로를 추가합니다. 예: C:\Program Files\Java\jdk-17\bin

환경 변수가 올바르게 설정되었는지 확인하려면 커맨드 라인에서 다음 명령어를 실행합니다:

java -version
 
 

출력 결과에서 JDK 버전을 확인할 수 있으면 성공입니다.

 

환경 변수 설정 (macOS 및 Linux 기준)

  1. `.bashrc` 또는 `.zshrc` 파일을 엽니다.
  2. 다음 줄을 추가합니다:
    export JAVA_HOME=/path/to/your/jdk export PATH=$JAVA_HOME/bin:$PATH
  3. 변경 사항을 적용합니다:
    source ~/.bashrc # 또는 source ~/.zshrc

 

환경 변수가 올바르게 설정되었는지 확인하려면 터미널에서 다음 명령어를 실행합니다:

java -version
 

출력 결과에서 JDK 버전을 확인할 수 있으면 성공입니다.

2.2 IntelliJ IDEA/Eclipse 설정

스프링부트 애플리케이션 개발을 위해 IntelliJ IDEA 또는 Eclipse와 같은 IDE를 설정합니다.

 

IntelliJ IDEA 설정

  1. IntelliJ IDEA 다운로드 페이지에서 설치 파일을 다운로드하고 설치합니다.
  2. IntelliJ IDEA를 실행하고 새 프로젝트를 생성합니다.
  3. File -> New -> Project를 선택하고 Spring Initializr를 선택합니다.
  4. 필요한 종속성을 선택하고 프로젝트를 생성합니다.

Eclipse 설정

  1. Eclipse 다운로드 페이지에서 설치 파일을 다운로드하고 설치합니다.
  2. Eclipse를 실행하고 새 프로젝트를 생성합니다.
  3. File -> New -> Project를 선택하고 Spring Boot 프로젝트를 생성합니다.
  4. 필요한 종속성을 선택하고 프로젝트를 생성합니다.

2.3 Maven과 Gradle 기본 설정

스프링부트 프로젝트는 주로 Maven이나 Gradle을 빌드 도구로 사용합니다. Maven과 Gradle을 설치하고 설정하는 방법을 알아봅니다.

 

Maven 설치 및 설정

  1. Maven 다운로드 페이지에서 설치 파일을 다운로드합니다.
  2. 설치 파일을 압축 해제하고 적절한 디렉토리에 위치시킵니다. 예: C:\apache-maven-3.8.4
  3. 환경 변수 설정:
    • MAVEN_HOME 환경 변수를 추가하고 Maven 설치 경로를 설정합니다.
    • Path 변수에 MAVEN_HOME\bin을 추가합니다.

환경 변수가 올바르게 설정되었는지 확인하려면 커맨드 라인에서 다음 명령어를 실행합니다:

mvn -version
 

출력 결과에서 Maven 버전을 확인할 수 있으면 성공입니다.

 

Gradle 설치 및 설정

  1. Gradle 다운로드 페이지에서 설치 파일을 다운로드합니다.
  2. 설치 파일을 압축 해제하고 적절한 디렉토리에 위치시킵니다. 예: C:\gradle-7.2
  3. 환경 변수 설정:
    • GRADLE_HOME 환경 변수를 추가하고 Gradle 설치 경로를 설정합니다.
    • Path 변수에 GRADLE_HOME\bin을 추가합니다.

환경 변수가 올바르게 설정되었는지 확인하려면 커맨드 라인에서 다음 명령어를 실행합니다:

gradle -version
 

출력 결과에서 Gradle 버전을 확인할 수 있으면 성공입니다.

예시 코드와 설명

예제 1: Maven 프로젝트 생성 및 설정

Maven을 사용하여 스프링부트 프로젝트를 생성하고 설정하는 방법을 보여줍니다.

 

`pom.xml` 파일 설정

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-boot-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>spring-boot-demo</name>
    <description>Spring Boot Demo Project</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <!-- 스프링부트 웹 스타터: 웹 애플리케이션 개발을 위한 기본 설정 제공 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 테스트용 종속성 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 스프링부트 Maven 플러그인: 애플리케이션을 패키징하고 실행하는 데 사용 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
 

기본 애플리케이션 클래스 작성

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// @SpringBootApplication: 스프링부트 애플리케이션의 진입점
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        // SpringApplication.run(): 애플리케이션을 시작하는 메서드
        SpringApplication.run(DemoApplication.class, args);
    }
}
 

간단한 REST 컨트롤러 작성

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

// @RestController: RESTful 웹 서비스의 컨트롤러를 정의
@RestController
public class HelloController {

    // @GetMapping: HTTP GET 요청을 처리하는 매핑
    @GetMapping("/hello")
    public String hello() {
        // 간단한 문자열을 반환하는 메서드
        return "Hello, Spring Boot!";
    }
}
 

애플리케이션 실행

mvn spring-boot:run
 

브라우저에서 http://localhost:8080/hello로 접속하면 "Hello, Spring Boot!" 메시지를 확인할 수 있습니다.

예제 2: Gradle 프로젝트 생성 및 설정

Gradle을 사용하여 스프링부트 프로젝트를 생성하고 설정하는 방법을 보여줍니다.

 

`build.gradle` 파일 설정

plugins {
    id 'org.springframework.boot' version '3.0.0'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}

 

기본 애플리케이션 클래스 작성

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// @SpringBootApplication: 스프링부트 애플리케이션의 진입점
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        // SpringApplication.run(): 애플리케이션을 시작하는 메서드
        SpringApplication.run(DemoApplication.class, args);
    }
}
 

간단한 REST 컨트롤러 작성

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

// @RestController: RESTful 웹 서비스의 컨트롤러를 정의
@RestController
public class HelloController {

    // @GetMapping: HTTP GET 요청을 처리하는 매핑
    @GetMapping("/hello")
    public String hello() {
        // 간단한 문자열을 반환하는 메서드
        return "Hello, Spring Boot!";
    }
}

 

애플리케이션 실행

./gradlew bootRun
 

브라우저에서 http://localhost:8080/hello로 접속하면 "Hello, Spring Boot!" 메시지를 확인할 수 있습니다.

예시 설명

  1. 프로젝트 설정:
    • Maven과 Gradle을 사용하여 스프링부트 프로젝트를 생성하고 설정합니다. 두 빌드 도구 모두 스프링부트의 자동 구성을 활용하여 쉽게 프로젝트를 시작할 수 있습니다.
  2. 애플리케이션 클래스:
    • @SpringBootApplication 애노테이션은 여러 애노테이션(@Configuration, @EnableAutoConfiguration, @ComponentScan)을 결합하여 스프링부트 애플리케이션을 구성합니다.
    • SpringApplication.run() 메서드는 애플리케이션을 시작하고 내장 서버를 실행합니다.
  3. REST 컨트롤러:
    • @RestController 애노테이션은 RESTful 웹 서비스의 컨트롤러임을 나타냅니다.
    • @GetMapping("/hello") 애노테이션은 HTTP GET 요청을 /hello 엔드포인트와 매핑합니다.
    • hello() 메서드는 간단한 문자열을 반환합니다.

이 예제는 스프링부트를 사용하여 간단한 웹 애플리케이션을 설정하고 실행하는 방법을 보여줍니다. 이를 통해 스프링부트의 자동 구성과 간단한 설정으로 빠르게 애플리케이션을 개발할 수 있는 장점을 경험할 수 있습니다.

반응형