m1ndy5's coding blog

Springboot 프로젝트 생성 본문

백엔드 with java/spring

Springboot 프로젝트 생성

정민됴 2023. 3. 7. 20:54

https://start.spring.io/

Gradle VS Maven

Gradle과 Maven 빌드 관리 도구의 종류이다.
빌드 관리 도구란, 우리가 개발하면서 많은 외부 라이브러리들을 다운로드하고 사용해야할 일이 많은데, 그럴 때 다운로드한 라이브러리들을 파일 한개에서 빌드도구 설정파일에 필요한 라이브러리 종류와 버전들, 종속성 정보를 명시하여 필요한 라이브러리들을 자동으로 다운로드 해주고 이를 간편히 관리해주는 도구이다.

  • Gradle : 설정파일이 maven보다 훨씬 간결함. 이미 업데이트된 테스크에 대해서는 작업이 실행되지 않으므로 빌드 시간이 훨씬 단축된다. 요즘은 거의 Gradle을 사용한다고 생각하면 된다.
  • Maven : Maven은 Java용 프로젝트 관리도구, pom.xml파일에 라이브러리 관련 정보들을 명시한다. 과거에 많이 쓰였던 방식

    Language

  • Java : 대표적인 객체지향 프로그래밍 언어 중 하나. 많은 사람들이 스프링을 사용할 때 자바를 사용해 왔음
  • Kotlin : 간결하고 안전한 것이 대표적인 특징. 요즘은 많은 사람들이 코프링이라고 불리는 코틀린+스프링을 많이 사용하는 추세
  • Groovy : 자바에 파이썬, 루비, 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어

    Version

  • SNAPSHOT : 만들고 있는 중
  • M1 : 정식으로 release된 버전은 아님
  • 참고할 점*
    Springboot 3.0버전부터는 반드시 자바 버전이 17이상이어야함!!!
    나는 자바 버전 11을 사용할거라 2.7.9로 사용하겠음

    Group : 보통은 기업명을 기입
    Artifact : 프로젝트명
    Name : 이름 (Artifact랑 동일하게 가도 됨)
    Description : 프로젝트 설명
    Package name : 프로젝트가 저장될 패키지 이름

    Packaging

    Jar과 War 둘다 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징 한 것
  • Jar : JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일, JRE(JAVA Runtime Environment)만 있어도 실행 가능함 (java -jar 프로젝트네임.jar)
  • War : Servlet / Jsp 컨테이너에 배치할 수 있는 웹 애플리케이션(Web Application) 압축파일 포맷, 별도의 웹서버(WEB) or 웹 컨테이너(WAS) 필요
    꼭 JSP를 사용하여 화면을 구성해야 한다거나 외장 WAS를 이용할 계획이 있지 않은이상은 Jar을 사용하는 것을 권장. 배포하지 않을것이라면 jar과 war 둘 다 큰 상관은 없음

    Java Version

  • 앞서 말했다시피 스프링부트 버전 3이상을 사용할 것이라면 반드시 17이상의 자바버전을 사용해야한다.
  • 그것이 아니라면 편한 자바 버전을 사용하면 된다.

    Dependencies

    가장 중요한 dependencies!
    어떤 라이브러리를 사용할 건지 미리 다운을 받는 것이다.
  • Spring Web : 웹을 구축할 때 사용하고, Apache Tomcat을 내장 서버로 사용한다.
  • Thymeleaf : View Templete Engine으로 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할을 한다.
    모든 설정을 완료했다면 Generate를 눌러주면 된다!!