1. 프로젝트 설정

- 스프링 부트 프로젝트로 설정한다.
- 프로젝트의 이름을 설정한다.
- 기본 패키지를 설정한다.
- Java 버전을 설정한다.
2. 라이브러리 설정

- Spring Web
- Spring Framework의 웹 애플리케이션 개발을 위한 핵심 모듈
- HTTP 요청과 응답을 처리하며, 웹 애플리케이션의 구조를 관리하는 기능 제공
- Spring MVC 아키텍처를 기반으로 모델, 뷰, 컨트롤러를 분리하여 개발
- RESTful API 개발을 지원하며, 다양한 웹 기능(폼 처리, 파일 업로드 등)을 간편하게 구현할 수 있음
- 내장 서버(Tomcat 등)를 지원하여, 쉽게 웹 애플리케이션을 실행할 수 있음
- Mustache
- 템플릿 엔진으로, HTML 등의 텍스트 파일 내에서 데이터를 동적으로 렌더링
- 간단하고 직관적인 문법을 제공하며, 논리적 구문이 없는 템플릿이 특징
- 조건문, 반복문, 변수 삽입 등을 처리할 수 있지만, 복잡한 로직은 템플릿 내에 포함시키지 않음
- 템플릿과 비즈니스 로직을 분리하여, 뷰(View)와 로직을 명확히 구분
- 다양한 프로그래밍 언어에서 사용 가능하며, 클라이언트와 서버 사이드 렌더링을 모두 지원
- Lombok
- Java 애플리케이션에서 반복적인 코드 작성을 줄여주는 라이브러리
- 어노테이션을 통해 Getter, Setter, toString, equals, hashCode 등의 메서드를 자동으로 생성
- 코드의 가독성을 높이고, 유지보수를 쉽게 해줌
- 컴파일 시점에 코드 생성이 이루어지므로, 실제 코드에는 추가적인 메서드가 존재하지 않음
- H2 Database
- Java 기반의 경량 인메모리 관계형 데이터베이스
- 빠르고, 설치가 간편하며, 임베디드 모드와 서버 모드에서 모두 사용할 수 있음
- 주로 테스트 및 개발 환경에서 사용되며, 실제 프로덕션 환경에서도 사용 가능
- SQL 표준을 지원하며, 데이터베이스 파일을 디스크에 저장하거나 메모리에만 저장할 수 있음
- Spring Boot와의 통합이 용이하여 빠르게 설정하고 사용할 수 있음
- Spring Data JPA
- JPA(Java Persistence API)를 기반으로 데이터베이스와의 상호작용을 간편하게 처리하는 Spring 프로젝트
- 데이터베이스 엔티티 클래스와 리포지토리 인터페이스를 사용하여 CRUD 작업을 자동화
- 복잡한 쿼리를 작성할 필요 없이 메서드 이름을 기반으로 쿼리를 자동 생성
- 페이징, 정렬, 트랜잭션 관리 등을 손쉽게 지원
- Hibernate와 같은 JPA 구현체와 함께 사용되며, 데이터베이스 접근을 더 효율적이고 직관적으로 만들어줌
- Spring Boot DevTools
- Spring Boot 애플리케이션 개발 시 생산성을 높여주는 도구 모음
- 자동으로 애플리케이션을 재시작하거나 리로딩하여 코드 변경 사항을 즉시 반영
- Hot Swap 기능을 통해 코드 수정 후 서버를 재시작하지 않고도 빠르게 반영 가능
- 템플릿 캐싱을 비활성화하고, 개발 중 더 직관적인 로그 출력을 지원
- 개발 환경에서 유용하며, 배포 환경에서는 비활성화되어 성능에 영향을 주지 않음
Share article