Header Banner
GG Logo

Future Engineering

기술의 최전선을 기록합니다.

기술 자료/BackEnd/[입문] 간단한 Java 서버 구현하기

[입문] 간단한 Java 서버 구현하기

BackEnd6개월 전

Java 기반 웹 서버(Spring Boot) 기본 설정

Java 서버 개발을 시작하려면 먼저 환경을 구축해야 합니다. Spring Boot는 간단한 설정만으로도 강력한 웹 애플리케이션을 만들 수 있는 프레임워크로, 초보 개발자에게 적합한 선택입니다.

🛠️ 개발 환경 준비
  1. Java 설치

    • Java 17 이상을 권장 (LTS 버전)

    • 설치 후 java -version으로 확인

  2. IDE 선택 및 설치

    • IntelliJ IDEA (추천) 또는 Eclipse

    • VS Code도 가능하지만 Spring 개발에는 IntelliJ가 더 적합

  3. 빌드 도구 선택

    • Maven 또는 Gradle 사용 (Spring Boot 프로젝트 생성 시 기본 포함)

  4. Spring Boot CLI (선택 사항)

    • $ sdk install springboot (SDKMAN!을 이용하면 편리)

📦 프로젝트 생성

Spring Initializr 이용해 기본 프로젝트를 생성할 수 있습니다.

  • 필수 설정

    • Project: Gradle(Groovy) or Maven

    • Language: Java

    • Spring Boot Version: 최신 안정 버전 선택

    • Dependencies: Spring Web, Lombok, Spring Boot DevTools

 

간단한 REST API 프로젝트 생성

이제 간단한 API를 만들어 봅시다.

📌 프로젝트 폴더 구조
/src
 ├── main
 │   ├── java/com/example/demo
 │   │   ├── DemoApplication.java  (메인 클래스)
 │   │   ├── controller
 │   │   │   ├── HelloController.java  (API 엔드포인트)
 │   │   ├── service
 │   │   │   ├── HelloService.java  (비즈니스 로직)
 │   │   ├── repository
 │   │   │   ├── HelloRepository.java  (DB 연동)
 │   ├── resources
 │   │   ├── application.yml (환경 설정)

🚀 간단한 컨트롤러 구현

package com.example.demo.controller;

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

@RestController
@RequestMapping("/api")
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}
  • @RestController : RESTful API 컨트롤러 선언

  • @RequestMapping("/api") : 기본 API URL 설정

  • @GetMapping("/hello") : GET /api/hello 요청 시 "Hello, Spring Boot!" 반환

🔧 실행 및 테스트
  1. 프로젝트 실행

./gradlew bootRun  # Gradle 사용 시
mvn spring-boot:run  # Maven 사용 시
  1. API 테스트

curl http://localhost:8080/api/hello

브라우저에서 http://localhost:8080/api/hello 접속 또는 curl 명령어 실행하기

 

정상적으로 요청에 대한 응답을 받은 경우 성공~!