Framework/Spring - Spring Boot

[Spring Boot/IntelliJ IDEA] ep02. Skeleton Project 구성 파악

삼군개발자 2020. 8. 28. 21:14

지난 ep01. Spring Boot Project Import에서 스프링부트 프로젝트를 웹에서 간단하게 생성하고, 인텔리제이에 import까지 시켜보았다.

https://devsyw.tistory.com/3?category=874223 참조

 

[Spring Boot/IntelliJ IDEA] ep01. Spring Boot Project Import

저는 지금까지 STS, 전자정부프레임워크 등 이클립스 기반 Spring Framework로 개발을 해왔습니다. 하지만 나는 아직 대학생이기에(야간..) 학생 라이센스로 IntelliJ IDEA를 설치할 수 있었습니다!! 오늘�

devsyw.tistory.com

 

 

바로 개발을 해도 무관하지만 일단 기본적인 프로젝트 구성이 어떻게 되어있는지를 살펴보자(Skeleton Project)

 


▷ 구성 ◁

디렉토리 구조

처음 Gradle Project를 생성하게 되면 기본 디렉토리의 구조는 위의 사진과 같다.

 

이중 자주 사용하게 될 핵심 디렉토리와 파일에 대해 소개한다.

 


☞ gradle

프로젝트에 기본적으로 내장되어있는 gradle wrapper는 개발자의 운영체제에 호환되도록 빌드를 수행하는 배치 스크립트이다.

하위 디렉토리에 내포되어 있는 gradle-wrpper.jar 파일을 사용하여 운영체제에 적절한 배치 스크립트를 실행하도록 돕는다.

 

또한 gradle-wrpper.propertise 파일에서는 gradle의 버전정보 및 path 정보를 저장하고 있다.

 


src

main과 test 디렉토리로 나누어져 있으며 각각 다른 역할을 수행한다

 

main > back-side 언어를 작성하는 영역으로, 별도의 설정이 없다면 컴파일 시 해당 경로를 찾게된다.

main/java > java code를 작성하는 영역으로, 실질적인 서버사이드 코드를 작성하는 영역이다.

main/test > main/java 패키지와 같은 구조를 가지는 영역으로, test code를 작성하는 영역이다. 컴파일 시 main/java와 동일한 패키지가 실행된다. 

 

추후 test 패키지는 자주 사용하게 될 예정이니 이만작성하겠다.


.gitignore 

git으로 관리하지 않을 파일에 대한 설정사항이다. 해당 파일의 path 정보를 기재하면 해당 파일은 commit시 제외된다. 로컬에만 적용된다.

 

.gitignore 파일

처음에는 git에 포함되지 않는 기본 파일들이나 형식들이 default 값으로 기재되어 있다.


build.gradle

가장 중요하다. 가장 자주보게 될 것이며 플러그인 및 의존성을 추가하는 영역이다.

build.gradle 파일

 

> plugins : spring boot version 정보와 language 정보

> group : 최초 생성 패키지 정보

> sourceCompatibility : Java version 정보

> configurations : 의존성 구성 영역, configurations 객체에 클로저를 전달하면 이 클래스의 API가 호출된다.

 구성의 각 그룹은 클래스패스를 의미하며 사용자 커스텀이 가능하다.

> repositories

> dependencies : 의존성 설정 영역, 여러가지 방법으로 설정 가능하다

  - 외부 모듈에 의한 의존성

  - 클라이언트 모듈 의존성

  - 프로젝트 의존성

  - 파일 의존성

  - Gradle API 의존성

  등등.. 지금은 ep01에서 포함시켰던 spring-boot-starter와 lombok 패키지가 설정되어 있다.


 

이상 스켈레톤 프로젝트의 핵심 구성요소를 해부해보았다. 

다음 에피소드에서는 helloworld로 진출해보겠다.