start.spring.io)는 몇 번의 클릭만으로 Spring Boot 프로젝트의 기본 골격을 자동으로 생성해주는 공식 웹 도구입니다.| 항목 | 설명 | 선택 예시 |
|---|---|---|
| Project | 프로젝트의 빌드 관리 도구를 선택. (Gradle이 더 현대적이고 유연) | Gradle - Groovy |
| Language | 사용할 프로그래밍 언어. | Java |
| Spring Boot | 사용할 Spring Boot 버전. (SNAPSHOT, M 등 표기가 없는 안정 버전 선택) | 3.x.x |
| Project Metadata | • Group: 보통 회사의 도메인을 역순으로 사용. (e.g., com.example)• Artifact: 프로젝트의 이름. (e.g., my-project) | - |
| Packaging | 프로젝트를 패키징할 방식. Jar가 내장 웹 서버를 포함하여 단독 실행이 가능하므로 표준. | Jar |
| Java | 사용할 Java 버전. | 17 |
| Dependencies | 프로젝트에 필요한 라이브러리(Starter) 묶음. | • Spring Web: Spring MVC와 내장 Tomcat을 포함하여 웹 애플리케이션 개발에 필수. • Lombok: Getter, Setter 등 보일러플레이트 코드를 줄여주는 라이브러리. |
IntelliJ나 Eclipse와 같은 IDE로 생성된 프로젝트를 열면, 다음과 같은 표준적인 디렉토리 구조를 볼 수 있습니다.
build.gradle:
dependencies { ... } 블록 안에 프로젝트에 필요한 모든 라이브러리(의존성)를 정의하고 관리합니다.src/main/java:
@SpringBootApplication 어노테이션이 붙은 메인 애플리케이션 클래스가 자동으로 생성됩니다.src/main/resources:
application.properties (또는 application.yml): 데이터베이스 연결 정보, 서버 포트 등 애플리케이션의 모든 외부 설정을 관리하는 가장 중요한 파일.static/: CSS, JavaScript, 이미지 등 정적 파일.templates/: Thymeleaf와 같은 서버 사이드 템플릿 파일.src/test/java:
메인 애플리케이션 클래스 확인:
...Application.java 파일을 보면 @SpringBootApplication 어노테이션이 있습니다. 이 어노테이션 하나가 자동 구성, 컴포넌트 스캔 등 Spring Boot의 수많은 마법을 가능하게 하는 시작점입니다.@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Controller 클래스 생성:
src/main/java 아래에 controller 패키지를 만들고, HelloController.java 파일을 생성합니다.package com.example.myproject.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // 이 클래스가 REST API 컨트롤러임을 선언
public class HelloController {
@GetMapping("/") // HTTP GET 요청이 루트 경로("/")로 들어왔을 때 이 메서드를 실행
public String hello() {
return "Hello, World!";
}
}
@RestController: 이 컨트롤러의 모든 메서드는 뷰(HTML)를 반환하는 대신, 반환 값을 HTTP 응답 본문에 직접 써서 보냅니다. (주로 JSON이나 텍스트)@GetMapping: HTTP GET 요청을 특정 URL 경로에 매핑합니다.애플리케이션 실행:
./gradlew bootRun 명령어를 실행합니다.결과 확인:
http://localhost:8080으로 접속하면, 화면에 "Hello, World!"가 표시되는 것을 확인할 수 있습니다.start.spring.io)를 사용하면 Spring Boot 프로젝트의 기본 골격을 쉽고 빠르게 생성할 수 있습니다.build.gradle은 프로젝트의 의존성을 관리하고, application.yml은 외부 설정을 관리하는 핵심 파일입니다.@SpringBootApplication 어노테이션은 Spring Boot의 자동 구성을 활성화하는 시작점입니다.@RestController와 @GetMapping 어노테이션을 사용하여, 특정 URL 요청에 텍스트나 JSON을 응답하는 간단한 REST API를 만들 수 있습니다.