Spring boot 시작하기

DokBak·2022년 6월 23일
0

Java

목록 보기
3/3

Spring boot 시작

1. Web Spring initializr에서 시작

1-1. Spring initializr 접속

1-2. 프로젝트 내용 설정

1-2-1. 프로젝트 관리 도구 설정(Project)

Project
Maven Project Gradle Project
  • Maven
    • Java용 프로젝트 관리 도구, 아파치 엔트의 대안으로 만들어졌다고 한다.
    • 이전부터 사용되어 왔던 관리 도구
  • Gradle
    • 그루비를 이용한 빌드 자동화 시스템, 안드로이드 개발시 사용하는 안드로이드 스튜디오의 공식 빌드 시스템

1-2-2. 개발 언어 설정(Language)

Language
Java Kotlin Groovy
  • Java

    • 일반적으로 아는 자바...
  • Kotlin

    • IntelliJ IDEA의 개발사 JetBrains에서 공개한 오픈소스 프로그래밍 언어
    • JVM기반의 언어(Java와 유사하며 더 간결한 문법과 다양한 기능이 추가됨)
    • 2017년 구글이 Kotlin을 안드로이드 공식언어로 추가하였는데, 현재는 안드로이드 공식 문서의 샘플 코드들도 Java보다 Kotlin문법이 먼저 나온다고 한다.
  • Groovy

    • 2015년 아파치 소프트웨어 재단으로부터 공개된 객체 지향 프로그래밍 언어
    • 최근 Maven을 대체하는 듯한 Gradle의 기반 언어

1-2-3. 스프링 부트 프레임워크 버전(Spring Boot)

Spring Boot
3.0.0(SNAPSHOT) 3.0.0(M3) 2.7.1(SNAPSHOT) 2.7.0 2.6.9(SNAPSHOT) 2.6.8
  • Spring Boot 버전에 관련해서는 최적화가 가장 잘 되어있는 버전이 기본 설정되어 있는 편이기에 2.7.0 버전을 사용하도록한다(2022.06.23기준)

1-2-4. 프로젝트 메타정보(Project Metadata)

  • Group : 프로젝트의 그룹 (현재의 프로젝트가 포함되는 프로덕트 명이나 팀명, 그룹명등을 기입)

  • Artifact : Group을 대분류라고 한다면 Artifact는 소분류라고 생각하면 좋다.(Name과 같은 값이 설정된다.)

  • Name : 프로젝트 명

  • Description : 프로젝트에 대한 설명

  • Package name : Group.Name 형식으로 자동 설정되고 권고사항이 소문자를 사용하도록 하기에 Group, Artifact, Name도 소문자로 사용하는 것이 좋다.

  • Packaging

    • Jar (Java Archive)
      • Java만으로 구성 되어있는 프로젝트
    • War (Web Application Archive)
      • Java이외의 구성이 포함되어 있는 프로젝트

Spring boot에서 Jar, War 선택방법

구분 Jar War
View 방식 SpringBoot에서 지원하는 템플릿 사용(Thymeleaf, Apache Freemarker, Mustache, Groovy Templates 등) SpringBoot에서 지원하는 템플릿 미사용(JSP, Vue, React등등)
외장 Was 사용 유무 SpringBoot에 내장되어 있는 Tomcat을 사용 외장 Was를 이용(ex 외장 Tomcat)
직접 배포 유무 개발에서 배포까지 해야하는 상황이라면 위 두 개의 조건을 염두하여야 하지만 개발만을 목적으로 소스만 작성하여 Git등에 올리기만 하면 되는 개발자 입장에서는 Jar, War의 차이는 없다고 봐도 무방하다.

참고 자료

https://old-developer.tistory.com/171

  • Java
    • 18
    • 17
    • 11
    • 8

원하는 자바 버전을 선택한다. 2022.06.23 기준으로 17버전이 디폴트로 설정 되어있다.

1-3. 의존성 설정

프로젝트의 방향성에 따라 선택하면 된다.

기본 설정하면 좋은 의존성(개인적인 관심 의존성도 같이 작성하였다.)

DEVELOPER TOOLS

  • Spring Boot DevTools
    • 빠른 어플리케이션의 재시작, LiveReload 등을 제공
  • Lombok
    • 상용구 코드를 줄이는데 도움된다.
    • Getter, Setter등 생략이 가능한 어노테이션등을 지원
      Web
  • Spring Web
    • 웹 개발을 하기 위한 가장 중요한 의존성
  • Spring Session
    • 세션에 관련된 의존성
      TEMPLATE ENGINES
  • Thymeleaf
    • HTML과 호환성이 좋은 템플릿 엔진
      SECURITY
  • Spring Security
  • OAuth2 Client
  • OAuth2 Resource Server
    SQL
  • Spring Data JPA
  • MyBatis Framework
  • H2 Database
  • MariaDB Driver
  • MySQL Driver
  • Oracle Driver
    NOSQL
  • Spring Data MongoDB
    MESSAGING
  • WebSocket
    I/O
  • Spring Batch
  • Validation
    TESTING
  • Spring REST Docs

1-4. 프로젝트 생성

Generate 버튼을 클릭

프로젝트 명의 압축파일 다운로드 되어진다.

1-5. 프로젝트 임포트

다운로드한 프로젝트 파일을 압축 해제후, Maven이나 Gradle 각각의 방식에 맞게 프로젝트를 실행시키면 된다.

2. VSCODE 확장 프로그램 Initializr로 부터 시작

2-1. Spring Initializr 설치 유무 확인

2-2. VSCODE 명령 팔레트 열기

  1. 좌측 하단의 옵션(톱니바퀴)버튼 클릭 후 명령 팔레트를 실행
  1. 단축키 F1키 명령팔레트 실행

2-3. Spring Initializr 검색

Create a Gradle Project 선택 (본 포스트에서는 Gradle을 선택)

2-4. Spring Initializr: Specify project langauge 선택

Spring Boot Version 선택 (본 포스트에서는 디폴트 버전 2.7.0 선택)

2-5. Spring Initializr: Specify project language

개발 언어 선택 (본 포스트에서는 Java 선택)

2-6. Spring Initializr: Input Group Id

Group ID 입력 (본 포스트에서는 dokbak.pjt 입력)

2-7. Spring Initializr: Input Artifact Id

Artifact ID 입력 (본 포스트에서는 testpjt 입력)

2-8. Spring Initializr: Specify packaging type

packaging type 선택 (본 포스트에서는 Jar 선택)

2-9. Spring Initializr: Specify Java version

Java 버전 선택 (본 포스트에서는 17 선택)

2-10. Spring Initializr: Choose dependencies

의존성 선택 (본 포스트에서는 미선택)

2-11. 프로젝트 생성

프로젝트를 저장할 패스를 지정해 저장하여 사용한다.

3. Spring Tool Suite 에서 시작

3-1. Create new Spring Starter Project 실행

3-2. 프로젝트 구성 내용 및 메타 정보 입력

3-3. 의존성 설정

3-4. 설정 내용 확인 후 프로젝트 생성

0개의 댓글