본문 바로가기
스프링 부트3

스프링 부트 3 애플리케이션 만들기

by 굿센스굿 2024. 12. 5.
반응형

 

1. 스프링 부트 3 소개

스프링 부트(Spring Boot)는 스프링 프레임워크 기반의 애플리케이션 개발을 간소화하기 위해 설계된 프로젝트입니다. 스프링 부트 3는 새로운 기능과 성능 개선을 통해 현대적인 애플리케이션 개발 환경을 제공합니다. 특히, Java 17 이상을 기본으로 사용하며, GraalVM 네이티브 이미지 지원과 같은 새로운 기능이 포함되어 있습니다. 이번 글에서는 스프링 부트 3로 애플리케이션을 처음부터 만드는 과정을 단계별로 설명합니다.

2. 스프링 부트 3 개발 환경 설정

(1) 개발 환경 요구 사항

  • Java 17 이상: 스프링 부트 3는 Java 17 이상에서만 실행됩니다.
  • 빌드 도구: Maven 또는 Gradle
  • IDE: IntelliJ IDEA, Eclipse, VS Code 등

(2) 프로젝트 생성

스프링 부트 애플리케이션을 생성하려면 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

  1. Spring Initializr 웹사이트 사용
    • Spring Initializr에 접속합니다.
    • 프로젝트 메타정보를 입력합니다.
      • Project: Maven 또는 Gradle
      • Language: Java
      • Spring Boot Version: 3.x.x
      • Dependencies: Spring Web, Spring Data JPA, H2 Database 등
    • "Generate" 버튼을 클릭하여 프로젝트를 다운로드합니다.
  2. IDE 내에서 생성
    • IntelliJ IDEA를 사용한다면 "New Project" -> "Spring Initializr"를 선택합니다.
    • 메타정보와 의존성을 설정한 후 프로젝트를 생성합니다.

3. 스프링 부트 애플리케이션 구조

스프링 부트 프로젝트의 기본 구조는 다음과 같습니다.

src/main/java
└── com.example.demo
    ├── DemoApplication.java
    ├── controller
    ├── service
    └── repository
src/main/resources
└── application.properties
  • DemoApplication.java: 메인 애플리케이션 클래스.
  • controller 패키지: REST API와 관련된 컨트롤러 클래스.
  • service 패키지: 비즈니스 로직.
  • repository 패키지: 데이터베이스 접근 계층.

4. 간단한 REST API 구현

(1) Controller 작성

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

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot 3!";
    }
}

(2) 애플리케이션 실행 및 확인

  • 프로젝트를 실행한 후 브라우저 또는 Postman에서 http://localhost:8080/api/hello로 접근하면 "Hello, Spring Boot 3!" 메시지를 확인할 수 있습니다.

5. 예제 애플리케이션: Todo 관리 시스템

(1) 데이터 모델

@Entity
public class Todo {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;
    private boolean completed;

    // Getter, Setter
}

(2) Repository 작성

public interface TodoRepository extends JpaRepository<Todo, Long> {
}

(3) Service 작성

@Service
public class TodoService {

    private final TodoRepository todoRepository;

    public TodoService(TodoRepository todoRepository) {
        this.todoRepository = todoRepository;
    }

    public List<Todo> getTodos() {
        return todoRepository.findAll();
    }

    public Todo saveTodo(Todo todo) {
        return todoRepository.save(todo);
    }
}

(4) Controller 작성

@RestController
@RequestMapping("/api/todos")
public class TodoController {

    private final TodoService todoService;

    public TodoController(TodoService todoService) {
        this.todoService = todoService;
    }

    @GetMapping
    public List<Todo> getTodos() {
        return todoService.getTodos();
    }

    @PostMapping
    public Todo createTodo(@RequestBody Todo todo) {
        return todoService.saveTodo(todo);
    }
}

6. 정리

이 글에서는 스프링 부트 3를 사용하여 애플리케이션을 만드는 기본 과정을 설명했습니다. Spring Initializr를 통해 프로젝트를 생성하고, 간단한 REST API 및 Todo 관리 시스템을 구현해보았습니다. 이를 바탕으로 더 복잡한 애플리케이션도 구축할 수 있습니다. 다음에는 GraalVM 네이티브 이미지와 같은 고급 기능을 다뤄보겠습니다.

반응형