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

KangHo Lee's avatar
Nov 15, 2024
[스프링 부트] 2. 스프링 프로젝트 생성
💡
IDE는 IntelliJ를 사용하였습니다.

프로젝트 생성

notion image
  • Group ID
    • 프로젝트를 구성하는 그룹을 나타내는 고유한 식별자입니다.
    • 조직이나 회사의 도메인 이름을 격순으로 작성합니다.
  • Artifact ID
    • 특정 프로젝트를 나타내는 고유한 식별자입니다.
    • Group ID와 결합하여 프로젝트의 고유성을 정의합니다.

의존성(Added Dependencies) 추가

notion image
💡
의존성 주입은 프로젝트에 필요한 외부 라이브러리나 모듈을 추가하는 것을 의미합니다.

1. Spring Web

  • 웹 애플리케이션 개발에 필요한 기능들이 담겨있습니다.
  • Dispatcher Servlet
    • 요청 수신 및 분배: 클라이언트로부터 들어오는 모든 HTTP 요청(WAS가 전달)을 받아들이고, 이 요청을 적절한 핸들러(Controller)에 분배합니다.
    • 핸들러 매핑: 요청 URL과 매핑된 핸들러를 찾아 실행합니다.
    • 뷰 선택: 핸들러가 처리한 결과를 기반으로 적절한 뷰(View)를 선택하고, 뷰를 렌더링하여 클라이언트에게 응답을 반환합니다.

2. Mustache

  • 단순하고 직관적인 템플릿 언어로, HTML과 같은 템플릿을 작성할 때 사용됩니다.
  • 스프링 부트에서는 뷰 템플릿 엔진으로 Mustache를 사용할 수 있습니다.

3. Lombok

  • 자바에서 반복적으로 사용하는 코드를 줄여주는 라이브러리입니다.
  • 어노테이션을 사용하여 Getter, Setter, toString, Equals, HashCode 메서드 등을 자동으로 생성해 줍니다.
  • 이를 통해 코드의 간결성을 유지하고, 개발 생산성을 높일 수 있습니다.

4. Spring Boot DevTools

  • 애플리케이션을 개발할 때 유용한 개발 도구들을 제공합니다.
  • 주요 기능으로 코드 변경 시 애플리케이션을 자동으로 재시작하는 기능, 캐시 비활성화, 라이브 리로드 등이 있습니다.

5. H2 Database

  • 경량의 인메모리(in-memory) 데이터베이스로, 주로 개발 및 테스트 환경에서 사용됩니다.
  • 설치와 설정이 간단하며, 빠른 속도로 작동합니다.
  • H2 Database는 SQL 표준을 지원하며, 스프링 부트와 잘 통합됩니다.

6. Spring Data JPA

  • JPA(Java Persistence API)를 기반으로 한 데이터 접근 계층을 쉽게 구현할 수 있도록 지원하는 스프링 모듈입니다.
  • 개발자는 인터페이스를 통해 데이터베이스 작업을 간단히 수행할 수 있으며, CRUD(Create, Read, Update, Delete) 작업을 위한 기본 메서드를 제공합니다.
  • 하이버네이트(Hibernate)
    • JPA 명세를 구현한 ORM 프레임워크 중 하나입니다.
    • JPA의 표준 기능 외에도 캐싱, 유연한 쿼리 언어(HQL), 다중 데이터베이스 지원 등의 기능이 있습니다.
 
Share article

devleekangho