[스프링 부트] 4. 프로젝트 생성

lhs's avatar
Nov 16, 2024
[스프링 부트] 4. 프로젝트 생성
 

1. 프로젝트 설정

notion image
  1. 스프링 부트 프로젝트로 설정한다.
  1. 프로젝트의 이름을 설정한다.
  1. 기본 패키지를 설정한다.
  1. Java 버전을 설정한다.

2. 라이브러리 설정

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

LHS's Study Space