[spring boot] 맨땅(1)_프로젝트 만들기

22_gas·2024년 5월 21일

springBoot

목록 보기
1/1

개요

MSA, MSA, MSA... 나도 MSA 구조로 무언가 만들어보고 싶어서 글을작성한다.

테스트 환경
JDK 17버전
IDE: IntelliJ Community
DB Tool: DBeaver community
OS: windows10
Docker 필요

오늘의 목표
1. spring boot 프로젝트를 만들기
2. docker 파일 생성(spring boot, postgres)
3. docker 실행

개발 시작

프로젝트 만들기


빨간색으로 밑줄친 부분을 확인해주고 프로젝트를 생성하자

Main.java : spring boot 시작 파일
.gitignore : git에 올릴때 제외할 파일정보가 들어있다.
build.gradle.kts : 빌드 관련 설정(의존성 주입 등)
gradlew : 실제로 프로젝트 빌드 툴 (./gradlew build 명령어로 빌드 가능)

이렇게 프로젝트로 만들고 build.gradle.kts를 열어보면 아무것도 없다. 심지어 스프링 부트도 들어있지 않기 때문에 아래처럼 추가해주자

plugins {
    id("java")
    id("org.springframework.boot") version "3.1.0"
    id("io.spring.dependency-management") version "1.1.0"
}

group = "org.gf160"
version = "1.0.0"
java.sourceCompatibility = JavaVersion.VERSION_17

repositories {
    mavenCentral()
}

dependencies {

    implementation("org.springframework.boot:spring-boot-starter-web")

    compileOnly("org.projectlombok:lombok")
    annotationProcessor("org.projectlombok:lombok")

    //TEST
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation(platform("org.junit:junit-bom:5.9.1"))
    testImplementation("org.junit.jupiter:junit-jupiter")
}

tasks.test {
    useJUnitPlatform()
}


작성후 오른쪽 코끼리를 눌러서 설정이 적용될수 있도록 한다.

실행

이렇게 설정된 Main은

이렇게 되어있는데 SpringApplication으로 만들어주어야한다.

package org.gf160;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }

}




이렇게 설정해주면된다.


정상적으로 잘 뜬다.

설정파일 만들기

Resource에 application.properties를 만들도록 하자.

그러면 application.properties 파일이 생성되었다.
간단하게 port만 설정해주자

server.port=8090


정상적으로 적용되었다.

빌드

오른쪽에 gradle 탭이 숨이있는데 그걸눌러 열어보자

"build" 를 더블클릭하면 이와같은 로그창이 뜬다.


build/libs/zerobase-1.0.0.jar이 생성된것을 알수있다.
뒤에 붙는 1.0.0 을 변경하고 싶으면 build.gradle.tks의 version을 바꾸면된다.

docker 파일 만들기

1. dockerfile 생성

docker 디렉토리를 만들고 dockerfile을 만들자

이렇게 작성하고 저장!

FROM openjdk:latest
CMD ["./gradlew", "build"]

2. docker-compose.yml 생성

root 디렉토리에 docker-compose.yml을 만들자

version: '3'

services:
  application:
    container_name: zerobase
    build:
      context: ./docker
      dockerfile: Dockerfile
    ports:
      - "8081:8081"
    volumes:
      - ./:/app
    working_dir: /app
    command: ["java", "-jar", "/app/build/libs/zerobase-1.0.0.jar"]
    restart: always

docker 테스트

아래에 Terminal을 열어서
docker-compose up 라고 치면 docker로 뜬다.

정상적으로 뜨는것을 확인 할 수있다.

이제 테스트를 해봐야하는데

Controller 하나 만들기

ComController.java를 최상단에 만들자

package org.gf160;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ComContoller {
    @GetMapping("/test")
    public @ResponseBody String getTest(){
        return "aa";
    }
}

저장하고 다시 터미널로 가서 Ctrl+c로 종료하고
docker-compose up을 다시 쳐보자.

postman으로 호출하면 정상적으로 동작한다.

profile
전 아직 모르는게 많아요

0개의 댓글