● gradle이란?
maven처럼 convention을 통해 프로젝트를 생성하고 관리 기능을 제공하는 도구이다.
저장소 관리기능과 다양한 프러그인을 제공한다.
gradle 설치 없이 gradle wrapper를 이용하여 빌드를 지원한다.
프로젝트 디렉토리 기본 설정

grdel은 위와 같은 디렉토리 구조를 만들어준다.
build.gradle : 프로젝트의 라이브러리 의존성, 플러그인, 라이브러리 저장소 등을 설정 할 수 있는 빌드 스크립트 파일이다.
기본 구성을 아래와 같다.

plugin
작업 수행을 라는 단위인 task들의 집합이다.
각 프로젝트에 필요한 task들을 필요할 때 마다 일일이 불러오기 힘들기 때문에 일들을 미리 플러그인으로 묶어 놓은 것이다.
그리고 프러그인에서 각각의 테스므들을 아래와 같이 의존관계를 가진다. (java plugin)

따라서 프러그인을 적용시키면 수많은 task들이 gradle파일로 들어오게 되고 이를 사용할 수 있게 된다.
repositories
의존관계를 내려 받기 위한 저장소를 지정해준다. 위 코드에선 앞에서 정리한 maven 저장소를 사용한다.
dependency
maven에선 groupId, artifactId, version으로 의존성을 검색해 받아왔는데
gradle의 경우 configuration을 통해 라이브러리 의존성을 추가한다.
configuration은 maven에서 scope의 개념으로 프로젝트에서 언제 의존성을 추가할지 미리 설정 해주는 것이다.
configuration의 종류는 아래와 같다.

-implementation과 api차이
둘다 컴파일 과정에서 의존 라이브러리를 추가하는 configuration이다.
implementaion의 경우 불러오는 라이브러리가 포함하고 있는 (의존되어있는) 라이브러리만 불러온다.
api의 경우 불러오는 의존 라이브러리 뿐 아니라 상위 의존 (의존하는) 라이브러리 까지 불러온다.
'Spring' 카테고리의 다른 글
| [스프링] jdbc 추가 (0) | 2023.04.10 |
|---|---|
| [스프링] jdbc (0) | 2023.04.03 |
| [스프링] di (0) | 2023.03.27 |
| [스프링] Maven (0) | 2023.03.16 |
| [스프링] 스프링과 웹어플리케이션 (0) | 2023.03.14 |