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 적용
- API 문서화 및 테스트의 용이성을 위해 Swagger를 추가합니다
- 최신 버전 여부는 Maven Repository를 참고해 주세요(글 작성기준 2.4.0이 최신입니다)
Maven Repository: org.springdoc » springdoc-openapi-starter-webmvc-ui (mvnrepository.com)
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 |