지난 ep01. Spring Boot Project Import에서 스프링부트 프로젝트를 웹에서 간단하게 생성하고, 인텔리제이에 import까지 시켜보았다.
https://devsyw.tistory.com/3?category=874223 참조
바로 개발을 해도 무관하지만 일단 기본적인 프로젝트 구성이 어떻게 되어있는지를 살펴보자(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시 제외된다. 로컬에만 적용된다.
처음에는 git에 포함되지 않는 기본 파일들이나 형식들이 default 값으로 기재되어 있다.
☞ build.gradle
가장 중요하다. 가장 자주보게 될 것이며 플러그인 및 의존성을 추가하는 영역이다.
> plugins : spring boot version 정보와 language 정보
> group : 최초 생성 패키지 정보
> sourceCompatibility : Java version 정보
> configurations : 의존성 구성 영역, configurations 객체에 클로저를 전달하면 이 클래스의 API가 호출된다.
구성의 각 그룹은 클래스패스를 의미하며 사용자 커스텀이 가능하다.
> repositories :
> dependencies : 의존성 설정 영역, 여러가지 방법으로 설정 가능하다
- 외부 모듈에 의한 의존성
- 클라이언트 모듈 의존성
- 프로젝트 의존성
- 파일 의존성
- Gradle API 의존성
등등.. 지금은 ep01에서 포함시켰던 spring-boot-starter와 lombok 패키지가 설정되어 있다.
이상 스켈레톤 프로젝트의 핵심 구성요소를 해부해보았다.
다음 에피소드에서는 helloworld로 진출해보겠다.
'Framework > Spring - Spring Boot' 카테고리의 다른 글
[Spring Boot] Scheduler (0) | 2022.05.12 |
---|---|
[Spring Boot] Spring Security(2/2) (0) | 2022.03.11 |
[Spring Boot] Spring Security(1/2) (0) | 2022.03.11 |
[@Spring] @ExceptionHandler와 @ControllerAdvice (0) | 2022.03.11 |
[Spring Boot/IntelliJ IDEA] ep01. Spring Boot Project Import (0) | 2020.08.27 |