스프링 공식문서 가이드를 기반으로 작성한 글입니다.
틀린 내용이 있거나, 의견 등은 언제든지 댓글 달아주시면 감사하겠습니다.
사용 IDE : Intelij IDE
사용 JDK : JAVA 8
1. 새로운 SpringBoot 프로젝트 시작하기
start.spring.io 해당 사이트에서 springboot web project를 생성할 수 있습니다.
1. 해당 사이트로 이동 후 구성할 설정을 선택해줍니다. ( Maven, Java 8, SpringBoot Version, Packaging 방식 등 )
- 다양한 Spring Boot 버전이 존재하는데, 정식 릴리즈 버전(GA) 사용을 권장한다. 현재 2.5.3
- SNAPSHOT 버전은 매일 찍어내는 버전이라고 생각하면 된다.
- Spring Boot Version 해당 사이트에서 버전을 확인할 수 있다.
2. 우측에 "ADD DEPENDENCIES.." 버튼을 클릭하여 "Spring Web"을 선택하여 추가합니다.
3. 하단에 "GENERATE" 버튼을 클릭하여 zip 파일을 다운받은 뒤 원하는 경로에 압축해제를 해줍니다.
4. 사용하는 IDE에서 생성된 프로젝트를 열어줍니다.
2. 코드 추가하기
1. src/main/java/com/example/demo 패키지에 있는 DemoApplication.java 파일을 아래의 코드로 수정합니다.
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
여기서 우리는 hello() 메서드를 추가했습니다.
hello 메서드는 문자열 매개 변수 name을 사용하도록 설계되어있고, 매개 변수와 결합한 문자열을 반환하는 메서드입니다.
- @RestController
웹을 통해 엔드포인트(URI, 요청)를 사용할 수 있다고 Spring에게 알립니다.
- @GetMapping("/hello")
Spring에게 http://localhost:8080/hello URI로 전송되는 GET 요청을 hello() 메서드를 통해 응답하도록 지시합니다.
- @RequestParam(value = "name", defaultValue = "World")
URI 요청 시 name이란 이름의 쿼리스트링을 포함하여 요청할 수 있지만, 없다면 기본값인 "World"를 사용합니다.
3. 실행하기
터미널을 열고 프로젝트가 위치한 폴더로 이동합니다.
다음 명령어를 통해 애플리케이션을 빌드하고 실행할 수 있습니다.
- 윈도우
mvnw spring-boot:run
- 맥OS/리눅스
./mvnw spring-boot:run
저는 Intelij 터미널을 사용하여 실행하였습니다. (명령 프롬프트를 통해서도 가능합니다)
IDE 하단에 터미널을 클릭한 뒤 위 명령어를 실행시키면 됩니다.
명령어를 실행하면 아래와 같은 출력문이 보이면 Spring이 시작되었음을 알립니다.
Spring Boot는 Tomcat 서버가 내장되어있는데, 웹 서버로 동작합니다.
Tomcat 서버는 localhost:8080의 포트로 수신을 대기합니다.
우리가 만든 애플리케이션을 확인하기 위해 http://localhost:8080/hello를 브라우저 주소창에 요청합니다.
아래와 같은 응답을 받을 수 있습니다.
추가적으로 명령어를 통해 애플리케이션을 실행할 수 있지만, 다른 방법도 존재합니다.
1. main메서드가 포함된 실행클래스 DemoApplication.java 파일로 이동합니다.
2. Ctrl + Shift + F10 또는 마우스 우 클릭 후 Run 'DemoApplication.main()' 를 클릭하여 실행할 수 있습니다.
퀴즈 : Hello Sanghoo! 를 출력하고 싶으면 어떻게 해야할까요?
A. http://localhost:8080/hello?name=Sanghoo
URI 호출 시 끝에 쿼리스트링을 통해 매개변수를 전달하여 해결할 수 있습니다.
'Spring' 카테고리의 다른 글
[SpringBoot] H2 데이터베이스 PostgreSQL 모드로 변경하기 (0) | 2024.03.13 |
---|---|
[Springboot] 외부에서 로컬 서버 접속하기 (0) | 2024.03.12 |
Mybatis cannot change the executortype when there is an existing transaction (2) | 2024.03.07 |
[SpringBoot] 스프링부트 - @SpringBootApplication 이해하기 (0) | 2021.08.21 |
[SpringBoot] 스프링부트 - 서버 포트번호 변경하기 (0) | 2021.08.19 |
댓글