리셋 되지 말자

[Spring Boot] Gradle - Hello World 본문

Spring

[Spring Boot] Gradle - Hello World

kyeongjun-dev 2022. 12. 19. 15:29

프로젝트 파일 생성

Spring initializer(https://start.spring.io/)에서 아래 그림과 같이 선택 후, 다운로드 진행 (Dependencies에는 Spring Web 선택)

 

기본 프로젝트 첨부파일

demo.zip
0.06MB


디렉토리 확인 및 코드 추가

기본 프로젝트 구조는 아래와 같다.

.
├── HELP.md
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── demo
    │   │               └── DemoApplication.java
    │   └── resources
    │       ├── application.properties
    │       ├── static
    │       └── templates
    └── test
        └── java
            └── com
                └── example
                    └── demo
                        └── DemoApplicationTests.java

 

src/main/java/com/example/demo 에 Hello World 문구를 return하는 클래스(java 파일)를 추가한다. (HelloWorldController.java 파일 작성)

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;

@RestController
public class HelloWorldController {

    @GetMapping("")
    public String helloWorld(){
        return "Hello, world";
    }
}

Docker 컨테이너 패키징

Dockerfile을 아래와 같이 작성한뒤 빌드 및 실행

FROM gradle:7.5.1-jdk11 AS builder
WORKDIR /build
COPY demo demo
RUN cd demo && ./gradlew build -x test

FROM openjdk:11 AS app
WORKDIR /app
COPY --from=builder /build/demo/build/libs/demo-0.0.1-SNAPSHOT.jar /app
CMD ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]

 

 

Comments