[프로젝트 셋업] 빈 프로젝트 생성

김대니·2022년 10월 23일
0
post-thumbnail

구성 환경

  • SpringBoot 2.7.3
  • IDE: IntelliJ IDEA 2021. 3. 2 (Ultimate Edition)
  • Language: Kotlin
  • Build: Gradle
  • Version Control: GitHub

폴더 구조

다음과 같은 형태로 구성하려고 합니다.

- root
	- apps
		- app-api
        - app-batch
	- libs
    	- adapter-http
        - adapter-persistence
        - application
	- protocols

root 프로젝트 아래에는 apps, libs, protocols 의 모듈 3개가 존재합니다.

  • apps 모듈은 외부로부터 request 를 받고, response 를 되돌려주는 역할을 수행하게 됩니다. 보통 API 들이 위치하게 되며, spring-batch 등 배치성 어플리케이션도 존재할 수 있습니다.
  • libs 모듈은 내부 비즈니스 로직을 포함하는 모듈입니다. 타 서비스와의 통신을 위한 adapter-http 도 있고, DB 와의 통신을 위한 adapter-persistence 모듈도 있습니다. 핵심 비즈니스 로직은 application 내부에 존재합니다.
  • protocols 모듈은 전체 프로젝트에서 공통적으로 사용할 수 있는 코드를 포함하고 있습니다. 예를 들어, app-api 에서는 API 응답값을 반환해야 하는데, 이 때 내부 반환 객체에 공통 반환 객체로 한번 감싸서 반환할 수 있습니다.

깡통 프로젝트 만들기

위와 같은 형태로 구성하기 위해서는 먼저 빈 프로젝트를 생성해야 합니다.

인텔리제이에서 New Project > Gradle 를 클릭하여 Gradle 기반 빈 프로젝트를 생성합니다.

프로젝트 이름은 sample-project 로 해보겠습니다.

생성을 하고 나면 아래와 같은 구조로 프로젝트가 셋업이 됩니다.

Gradle 파일 이해하기

생성된 파일들을 확인해보겠습니다.

Gradle Wrapper

  • 이미 존재하는 프로젝트를 새로운 환경에서 별도의 Java 또는 Gradle 설치 없이 빌드할 수 있음
  • 환경에 종속되지 않고 프로젝트를 빌드할 수 있음

gradle wrapper 구조는 다음과 같이 구성:

|-- gradle
|	|-- wrapper
|		|-- gradle-wrapper.jar // wrapper 파일
|		|-- gradle-wrapper.properties // wrapper 설정 파일
|-- gradlew // 유닉스용 wrapper 실행 스크립트, ./gradlew {task} 형태로 사용
|-- gradlew.bat // 윈도우용 wrapper 실행 스크립트

build.gradle.kts

  • 의존성이나 플러그인 설정 등을 위한 Gradle 빌드 스크립트 파일

gradle.properties

  • Gradle 빌드 스크립트 파일의 설정 파일
  • 빌드 설정을 하거나 성능을 최적화할 때 사용하게 됨

settings.gradle.kts

  • 프로젝트의 구성 정보를 기록하는 파일
  • 하위 프로젝트가 어떤 관계로 구성되어 있는지 기술하며 Gradle 은 이 파일을 기반으로 프로젝트를 구성하게 됨
profile
?=!, 물음표를 느낌표로

0개의 댓글