[Spring]프로젝트 개발 환경 세팅

god1hyuk·2022년 7월 24일

Spring / Spring Boot

목록 보기
1/4
post-thumbnail

항해99 부트캠프를 진행하며 스파르타코딩에서 제공해 준 남병관 튜터님의 "웹개발의 봄, Spring"과 개인적으로 조사한 지식들을 기반으로 작성하였다.

Spring Framework란?

Java 플랫폼을 위한 오픈 소스 애플리케이션 *프레임워크(Framework)이다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공한다.

*프레임워크(Framework)란?

하나의 애플리케이션을 구축할 때, 모든 애플리케이션의 공통적인 개발 환경을 제공해주는 것. 개발에 필요한 화면구현, DB연동, 개발 환경들에 공통적인 부분을 제공함으로써 개발 시간과 리소스 비용을 절감해 생산성을 높여주는 것.

  • Spring 프로젝트를 시작하기 위한 개발 환경 세팅

초반에 아무 생각없이 자바 최신 버전(current version)인 18버전을 설치를 했었는데 이번 강의에서는 자바 8버전으로 진행을 한다고 한다. 그런데 최신 버전이면 더 좋지 않을까? 라는 생각이 들 수도 있겠지만 그렇지 않다. LTS(Long Term Support)버전을 설치하는 것을 권장한다. 그 이유는 LTS는 장기 지원 버전이기 때문이다. 일반적인 버전보다 장기간에 걸쳐 지원하도록 특별히 고안된 버전이다.

예를 들어 모바일 버전 업데이트도 무조건 최신 버전이라고 업데이트하면 이전 보다 버그도 많고 불안정한 부분이 많지 않은가. 버전 초기 단계이기 때문에 불안정하다.

자바에서는 보통 버전을 8, 11, 17 버전 이 세가지를 사용한다고 한다. 왜 3가지나? 특히나 8버전을 72%나 사용한다고 한다. 자바 8이 기본적인 자바 기능이 구축되어 있는 버전이다. 그래서인 것 같다. 프로젝트마다 사용하는 버전도 다를테고 때에 따라 맞춰가면 될 것 같다.

나는 자바 8버전을 다시 설치 후, 본격적으로 Spring 강의에 접어들 수 있었다.

  • Spring 프로젝트 만들기

나는 Mac 유저인데 현재 Window 컴퓨터가 없어서 지금 확실하게 방식이 같은지 알 수 없다... 그래서 Mac 기준으로 설명하도록 하겠다.

최상단 메뉴바의 File > New > Project로 들어가면 "New Project" 윈도우가 팝업 될 것이다.

우선 좌측 메뉴에서 "Spring Initializr"(Spring 프로젝트)를 선택하고 프로젝트 기본 환경설정을 한다.

  1. Name : 프로젝트 이름이다.
  2. Location : 프로젝트 폴더를 위치할 경로 설정이다.
  3. Language : 프로젝트에서 사용할 프로그래밍 언어이다.
  4. Type : build(구축)하고 publish(배포) 하는데 도움을 주는 오픈소스 도구이다.
  5. Group : 서비스가 제공될 주소이다. 그 주소를 거꾸로 작성한 것이다. 일종의 관습이다. (프로젝트를 생성하면 예시 이미지를 기준으로 프로젝트 내부에 "com" 디렉토리 안에 "example" 디렉토리로 기본적인 그룹화가 세팅된다.)
  6. Artifact : Name과 마찬가지로 프로젝트 명이다. Name은 소프트웨어 상의 문서 제목 같고 Artifact는 config에 사용 될 공식적인 프로젝트 이름이라 생각이 든다. (따로 작성하지 않아도 Name을 작성하면 자동으로 변경된다.)
  7. Package name : 5번 항목(Group)에서 언급했던 폴더 생성에 관한 내용인 것 같다. (따로 작성하지 않아도 Name과 Group을 설정하면 자동으로 변경된다.)
  8. JDK : (Java Development Kit)의 버전이다. JDK 1.8 버전이면 Java 8버전을 제공한다.
  9. Java : Java의 버전이다.
  10. Packaging : 압축파일로, 애플리케이션을 배포하고 어느 환경에서나 구동 시킬 수 있도록 소스들이나 관련 파일들을 하나로 패키징 하는 것.
    • jar : java archive
    • war : web application archive

이번 프로젝트 환경 세팅에서 중점적으로 보아야 할 것은 3가지이다.

  1. Type : Gradle
  2. Language : Java
  3. Java : 8

이렇게 프로젝트 기본 환경 세팅이 끝났으면 프로젝트에서 필요한 의존성(starter, dependencies)들을 선택하여 설치한다.

이번 프로젝트에서 기본적으로 필요한 라이브러리들은

  1. Lombok : 자바 프로젝트를 진행하는데 필수적으로 필요한 메소드를 자동으로 생성 해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리이다.
  2. Spring Web : Spring으로 웹서비스를 만들기 위한 starter이다.
  3. MySQL Driver : MySQL과의 연동을 위한 connector이다.
  4. H2 Database : Database 콘솔이며, MySQL 같은 다른 DB와 다르게 테스트 정도의 목적으로 사용할 수 있다. 그 이유는 서버를 재시작하면 저장되었던 데이터는 초기화 되기 때문이다.
  5. Spring Data JPA : JPA를 사용하기 위한 라이브러리이다.
    • JPA(Java Persistence API) : DB에 보다 쉽게 접근하기 위한 SQL 문법 또는 인터페이스 모음

이렇게 프로젝트를 생성하는데 성공.
늘 초반 환경 세팅에서 애를 먹었던 것 같다.

Spring Framework를 처음 접하는 누군가에게 조금이나마 도움이 될 수 있기를 바란다.

1개의 댓글

comment-user-thumbnail
2022년 7월 27일

새로 만들 때 기억 안 나면 들어와서 보면 좋겠네요

답글 달기