본문 바로가기
java

gradle로 spring-boot 프로젝트 설정

by 초특급하품 2019. 11. 19.

gradle로 프로젝트를 생성하고 build.gradle을 아래와 같이 수정한다.

 

buildscript {
    ext {
        springBootVersion = '2.2.1.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

sourceCompatibility = 1.8
repositories {
    mavenCentral()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
}

plugin

가장 기본적인 플러그인만 추가했다. java 플러그인은 기본적인 태스크와 구조를 구성해준다. (https://docs.gradle.org/current/userguide/java_plugin.html)

repositories

maven repository를 사용한다.

dependencies

예전엔 compile로도 썼지만 최신 버전에서는 implementation으로 의존성을 선언해서 재컴파일 크기를 줄여 빌드 시간을 줄일 수 있다. test prefix로 테스트 컴파일할 때 참조되도록 할 수 있다.

 

 


 

spring boot를 사용하기 위한 gradle 작업을 마치고 이제 코드를 작성한다.

 

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        System.out.println("Spring Boot Started.");
    }
}

 

일반 자바 프로그램과 같이 main함수를 만들고 @SpringBootApplication을 붙인다. spring boot 답게 하나의 어노테이션으로 외부 의존성 파일을 주입하고, 클래스를 scan 하며 bean을 등록하게 할 수 있다. 마법처럼 모든 일을 해주는 건 아니고 어노테이션 파일을 보면 결국 다른 어노테이션의 집합일 뿐이다.

 

이렇게 application을 구동할 준비를 했으면 필요한 로직을 만들면 된다.

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello";
    }
}

간단한 예제로 GET /hello 요청에 대해 Hello라는 응답을 내리는 api를 추가했다.

 

main함수 실행으로 서버를 기동한 후 curl로 api를 확인할 수 있다.

$ curl -XGET localhost:8080/hello
Hello

 

'java' 카테고리의 다른 글

Type Erasure와 ParameterizedTypeReference  (0) 2021.01.02
JPA로 batch insert 하는 방법  (0) 2020.02.20

댓글