Hello World

  • 누군가 저와 같은 삽질을 반복할 것 같아 작성합니다
  • DBMS는 H2를 사용하다가 MySQL 및 MsSQL 테스트 예정입니다
  • JPA와 QueryDsl을 사용할 예정입니다
  • Spring Security와 JWT를 통해 인증할 예정입니다

환경

  • Open JDK 17
  • Spring Boot 3.2.4
  • Intellij Community 2023.3.6

개발환경 설정

  • JAVA 환경설정은 다른 분들이 올려놓으신 자료가 많기 때문에 넘어갑니다
  • 다음 사이트로 이동해서 스프링 초기 세팅을 구성합니다
    Spring Initializr
  • 제가 설정한 항목은 다음과 같습니다
    • Spring Web
    • Spring Data JPA
    • H2
    • Lombok

 

 

서버 띄워보기

  • src > main > java > [프로젝트 주소] > [Application.java]를 더블클릭합니다
  • 윈도우 기준 SHIFT + F9를 눌러 서버를 실행합니다

 

  • 로그에 Tomcat started on port 8080이라는 명령어가 아래에서 두 번째 줄에 보이면
    브라우저를 열고 http://localhost:8080 으로 이동해 봅니다

  • 위와 같은 페이지를 만난다면 서버가 정상적으로 띄워진 겁니다

Swagger  적용

build.gradle
...
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'

	// Swagger
	implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.4.0'
}
...

 

  •  루트경로로 접근 시 바로 Swagger 창이 열리도록 변경합니다

application.properties

spring.application.name=tutorial

springdoc.swagger-ui.path=/

 

  • 서버를 재시작하면 다음 화면이 정상적으로 출력되어야 합니다

 

Hello World API 생성

  • 이제 HelloWorld API를 생성해 보겠습니다
com/jehoon/tutorial/controller/HelloController.java
package com.jehoon.tutorial.controller;

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

@RestController
public class HelloController {
    @GetMapping("/hello-world")
    public String get() {
        return "Hello World";
    }
}

 

  • 서버를 재시작하고 브라우저를 확인하면 hello-controller 가 생긴 것을 확인할 수 있습니다.
  • /hello-world API > Try it out > Execute
    다음처럼 Hello World가 정상출력됩니다

'JAVA > SPRING' 카테고리의 다른 글

Spring Boot 3 Tutorial - 5 Security(2)  (0) 2024.04.16
Spring Boot 3 Tutorial - 5 Security(1)  (2) 2024.04.12
Spring Boot 3 Tutorial - 4 QueryDsl  (0) 2024.04.08
Spring Boot 3 Tutorial - 3 DBMS switch  (0) 2024.04.04
Spring Boot 3 Tutorial - 2 CRUD  (0) 2024.04.04

+ Recent posts