SpringBoot #1.1 - 프로젝트 생성

텐저린티·2023년 6월 19일
0

데브코스

목록 보기
6/41
post-thumbnail
  • Maven, Gradle 프로젝트 생성하기
  • Spring Initializer

프로젝트 생성 및 환경설정

Build Tool 선택

  • 스프링은 두 가지 빌드툴 중 택 1
  • Maven (전통)
  • Gradle (최신)

Build란

  • 필요한 라이브러리 다운 + classpath에 추가
  • 소스 코드 컴파일
  • 테스트 실행
  • 컴파일된 코드 packaging → jar / war / zip

Maven

  • 주로 자바기반 프로젝트에서 사용
  • XML 기반
  • pom.xml 파일 (Project Object Model)

왜 Maven?

  • archeTypes 라는 프로젝트 템플릿을 제공해서 매번 같은 설정 반복 방지
  • 외부라이브러리를 dependancy를 통해 관리
  • 플러그인, 외부라이브러리 분리해서 관리
  • Multiple Module 지원
    • 하나의 프로젝트에 여러 프로젝트 관리 가능

      <modules>
      	<module>service-a</module>
      	<module>service-b</module>
      </modules>

Maven LifeCycle

  • Maven의 생명주기를 이용해서 빌드 작업을 수행 가능

Transitive Dependencies

  • 의존성의 의존성
  • a → b & b → c ⇒ a → c (transitive 의존성)
  • 의존성 트리 구성
    • 동일 groupId, artifactId에 대해 가장 최신 버전 정보 사용
  • 버전 간 충돌, 라이브러리 간 충돌 유발 가능성
  • 의존성 트리 디버깅하는 코드 존재

Dependencies Scope

  • pom.xml 파일에 <scope></scope>으로 지정된 값 (지정 안 되어 있으면 기본값 설정)
  • compile, provided, runtime, test, system 과 같은 다양한 값 지정으로 올바르게 사용

Gradle

  • Groovy 기반 빌드 스크립트 작성 툴 = 빌드툴
  • Groovy / Kotlin 언어

Spring 기반 어플리케이션 프로젝트 만들기

  • Manual Setup 방식
    • Maven / Gradle 로 프로젝트 생성, pom.xml, build.gradle 수정
  • Spring Boot 방식
    • Spring Boot CLI 방식
    • Spring initializer 방식
profile
개발하고 말테야

0개의 댓글

관련 채용 정보