스프링 부트는 원래 자바로 만드는 마이크로서비스를 만들기 위한 프레임워크입니다. 여기서는 스프링부트를 사용하여 간단한 REST API를 만드는 방법을 소개하고자 합니다.
여기서는 다음의 내용을 다루고자 합니다.
- spring 개발환경 구축
- spring framework5 와 spring boot를 활용한 RESTful 서비스 개발
개발환경
스프링 개발을 위해 일반적으로 아래 개발도구를 사용합니다.
- JDK 1.8 –> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Spring Tool Suite(STS) 3.8.2 –> http://spring.io/tools/sts/all
- Maven 3.3.1 –> https://maven.apache.org/download.cgi
하지만 개발도구로 STS 대신에 InteliJ의 idea나 이클립스 다른 IDE를 사용할 수 있습니다. (저는InteliJ의 idea를 사용합니다.) 또한 maven 대신에 gradle을 사용해도 무방합니다.
그리고 사용할 스프링 버전은 아래의 것을 사용할 것입니다.
- Spring Framework 5.0.0 RC1 –> https://projects.spring.io/spring-framework/
- Spring Boot 2.0.0 M1 –> https://projects.spring.io/spring-boot/
스프링 부트로 RESTful API서비스 만들기
스프링 부트는 앞서 말했듯이 마이크로 서비스를 빠르고 쉽게 만들수 프레임워크 입니다. 다시 말해 빠르고 쉽게 만들수 있다는 것은 기본코드와 환경설정에 드는 노력을 상당히 줄이고 기본 설정값으로 애플리케이션을 쉽게 만들수 있습니다. 스프링 부트는 maven에서의 POM 파일과 같은 빌드 파일을 자동 생성합니다. 스프링 부트는 기존에 스프링에서 사용하는 xml 설정 파일을 없앴으며, 실행가능한 jar형태의 어플리케이션을 제작할 수 있습니다.
요약하자면 스프링 부트는 xml 없는 간단한 설정으로 쉽게 실행가능한 어플리케이션을 만들 수 있습니다.
스프링 부트 시작하기
스프링 부트로 개발을 시작하는 주요 방법은 아래의 4가지 방법이 있습니다.
- 스프링 부트 CLI( Command Line Interface) 사용
- 스프링 툴 스위트(STS) 사용
- 스프링 이니셜라이저(Spring Initializer) 사용
- SDKMAN 사용
하지만 여기서는 가장 간단하게 스프링 부트 CLI를 사용하여 RESTful API를 만들어 보겠습니다.
스프링 부트 RESTful API 개발
아래의 과정을 따라해보면 쉽게 API 서비스를 만들 수 있습니다.
- https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli/2.0.0.M1/spring-boot-cli-2.0.0.M1-bin.zip 파일을 다운로드 한다.
$> wget https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli/2.0.0.M1/spring-boot-cli-2.0.0.M1-bin.zip
- 원하는 디렉토리에 압축을 풀고 bin디렉토리로 이동한다.
$> gzip -d spring-boot-cli-2.0.0.M1-bin.zip
$> cd bin - 다음 명령을 실행해서 설치 성공여부 확인
$> ./spring --version
Spring CLI v2.0.0.M1 - Groovy 를 사용하여 간단한 어플리케이션을 만듭니다. 아래의 내용으로 helloWorld.groovy 파일을 생성합니다.
@RestController
class HelloWorldController {
@RequestMapping("/")
String sayHello(){
return "Hello World !!"
}
} - 아래의 명령어를 실행하여 어플리케이션을 실행합니다.
$> ./spring run helloWorld.groovy
- 브라우저 혹은 curl 명령어로 확인합니다.
$> curl localhost:8080
hello World !!
끝.
'Programming > Spring Boot' 카테고리의 다른 글
[Spring Boot] Spring Cloud Config를 이용해서 설정값 별도 관리하기 (0) | 2020.06.11 |
---|---|
[Spring Boot] REST API 문서를 Swagger로 관리하기 (0) | 2020.04.23 |
[Spring Boot] JPA Auditing 으로 생성/변경일시 관리하기 (0) | 2020.04.23 |
[Spring Boot] Pageable 커스터마이징하기 (0) | 2020.04.23 |
[Spring Boot] JPA + Pageable 을 이용한 페이징 처리 (0) | 2020.04.23 |