[SpringBoot] 2024 게시판 만들기 실습 ① - 프로젝트 생성

SihoonCho·2024년 11월 21일
0
post-thumbnail

※ 읽기에 앞서


본 시리즈는 작성자의 이해와 경험을 바탕으로 실습 위주의 설명을 제공하고자 작성되었습니다.
실습 중심의 이해를 목표로 작성되었기 때문에, 다소 과장되거나 생략된 부분이 있을 수 있습니다.
따라서, 이론적으로 미흡한 부분이 있을 수 있는 점에 유의하시고 양해 부탁드립니다.

또한, Spring Boot 기반의 Backend 개발에 중점을 두고 설명하고 있으므로,
Frontend와 관련된 내용은 별도의 참고자료를 검색/활용하실 것을 권장드립니다.


📌 Spring Initializr


아래의 공식 사이트에 접속한 후, 아래와 같이 내용을 입력해주세요.


📖 입력 내용


  1. Project : Gradle - Groovy
  2. Language : Java
  3. Spring Boot : 3.3.5, 버전 뒤에 아무 것도 붙지 않은 것 중, 가장 최신 버전 선택
  4. Project Metadata :
    • Group : com.companyname
    • Artifact : ProjectName
    • Name : ProjectName
    • Description : FreeBoard Project for Spring Boot
    • Package name : com.companyname.projectname
    • Packaging : Jar
    • Java : 17
  5. Dependencies ADD DEPENDENCIES
    • Lombok
    • Spring Web
    • Spring Boot Dev Tools
  6. GENERATE
  7. 다운로드된 파일 압축 해제 후, 인텔리제이에서 프로젝트 열기

📖 입력 내용 설명


  1. Project : 빌드 도구 선택
    • Gradle - Groovy : Groovy DSL을 사용하는 Gradle 빌드 도구 build.gradle
    • Gradle - Kotlin : Kotlin DSL을 사용하는 Gradle 빌드 도구 build.gradle.kts
    • Maven : XML 기반의 정형화된 빌드 도구 pom.xml
  2. Language : 프로그래밍 언어 선택
  3. Spring Boot : 버전 뒤에 아무 것도 붙지 않은 것 중, 가장 최신 버전 선택
    • SNAPSHOT : 아직 개발이 완료되지 않은 버전
    • M(Milestone) : 개발은 완료되었으나, 아직 기능 개선 또는 버그 수정중인 버전
    • RC(Release Candidate) : 기능 개선과 버그 수정이 완료되었으나,
      최종적으로 릴리즈되지는 않은 버전
  4. Project Metadata : 프로젝트 정보 입력
    • Group : 기업명 혹은 개발자명, 보통 기업 도메인 명을 역순으로 입력
      • ex) naver.com -> com.naver
      • ex) hong-gildong.com -> com.hong-gildong
    • Artifact : 빌드 결과물 이름 (수동 입력)
    • Name : 프로젝트명 (Artifact를 수정하면 자동으로 수정됨)
    • Description : 프로젝트에 대한 간략한 설명 (필요시 입력)
    • Package name : 프로젝트에 생성할 패키지 설정 (일부 수정)
      • 패키지명은 모두 소문자를 사용하는 것을 권장함
      • ex) com.companyname.ProjectName -> com.companyname.projectname
    • Packaging : 배포를 위한 프로젝트 압축 방법 선택
    • Java : 개발환경 및 배포환경 JDK 버전 선택
      • 본 게시글 작성일(2024.11.22) 기준 최신 LTS 버전: JDK 21
      • 정석적으로는, Java 지원 기간이 긴 최신 LTS 버전 선택 권장
      • 현실적으로는, 구버전 호환성을 고려해 구 JDK LTS 버전 선택
      • Spring Boot 3.x 부터는 Java 17 이상 지원 -> JDK 17 권장
        • Spring Boot 2.x 지원 종료 -> Java 8 지원 종료
  5. Dependencies : 프로젝트에 필요한 의존성 라이브러리 선택
    • Lombok: 어노테이션 기반 반복적인 코드(보일러플레이트 코드) 생성 도구 제공
    • Spring Web: RESTful Web Application & MVC 기반 웹 서비스 개발 기본 기능 지원
    • Spring Boot Dev Tools: 자동 재시작 및 캐싱 비활성화 등 개발 편의성 기능 제공


본 시리즈는 작성자의 이해와 경험을 바탕으로 실습 위주의 설명을 제공하고자 작성되었습니다.
실습 중심의 이해를 목표로 작성되었기 때문에, 다소 과장되거나 생략된 부분이 있을 수 있습니다.
따라서, 이론적으로 미흡한 부분이 있을 수 있는 점에 유의하시고 양해 부탁드립니다.

또한, Spring Boot 기반의 Backend 개발에 중점을 두고 설명하고 있으므로,
Frontend와 관련된 내용은 별도의 참고자료를 검색/활용하실 것을 권장드립니다.
profile
개발을 즐길 줄 아는 백엔드 개발자

0개의 댓글