Web/Spring-boot

Spring-boot에서 build.grade 속성

Spring boot에서의 build.grade 속성

build.gradle에 있는 내용을 그저 따라서 타이핑한 경험은 많지만, 어떤 의미인지 고민해보고 찾아본 경험은 없었다.
책을 사서 따라해보는 과정중에, 간단한 설명이 일부 있어서 코드와 함께 주석으로 정리해본다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
buildscript {
    // ext라는 키워드는 build.gradle에서 사용하는 전역변수를 설정하겠다는 의미. 여기서는 springBootVersion 전역변수를 생성하고 그 값을 '2.1.7.RELEASE'로 하겠다는 의미.
    // 즉, spring-boot-gradle-plugin라는 스프링 부트 그레이들 플러그인의 '2.1.7.RELEASE'를 의존성으로 받겠다는 의미.
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
 
// 아래는 앞서 선언한 플러그인 의존성들을 적용할 것인지를 결정하는 코드.
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management' // 이것은 스프링 부트의 의존성들을 관리해 주는 플러그인이라 꼭 추가해줘야 함.
// 위 4개의 플러그인은 자바와 스프링 부트를 사용하기 위해서는 필수 플러그인으로, 항상 추가해주면 된다.
 
group 'com.ssafy.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
 
 
// repositories는 각종 의존성 (라이브러리0들을 어떤 원격 저장소에서 받을지를 정함.
// 기본적으로 mavenCentral을 많이 사용하지만, 최근에는 <라이브러리 업로드 난이도> 때문에, jcenter도 많이 사용.
// mavenCentral은 이전부터 많이 사용하는 저장소지만, 본인이 만든 라이브러리를 업로드 하기 위해서는 <많은 과정과 설정>이 필요함. 업로드가 힘들어 공유가 안되는 상황이 발생.
// jcenter는 이런 문제점을 개선하여 <라이브러리 업로드를 간단>하게 하였음. 또한, 여기에 업로드를 하면 mavenCentral에도 업로드 될 수 있도록 자동화할 수 있음.
// 때문에 점점 jcenter로 이동하고 있는 추세.
repositories {
    mavenCentral()
    jcenter()
}
 
// dependencies 는 프로젝트 개발에 필요한 의존성들을 선언하는 곳.
dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}
 
cs

'Web > Spring-boot' 카테고리의 다른 글

Spring] IoC (1)  (0) 2020.03.12
Spring Web Layer(스프링 웹 계층)  (1) 2020.01.20
IntelliJ에서 gradle(버전) distributionURL 변경하기  (0) 2020.01.17